ActionScript3.0 のお勉強 - function 関数 - | FLASHプチ講座ブログ

FLASHプチ講座ブログ

FLASHのプチ講座ブログ。ActionScript3.0勉強中。

自分で定義できる関数、function文が、ちょっと見にくくなってたので、

今回はその書き方について。 functionってなんですか???という人は、

function文の構造というか、内容というか、理屈はかわっていませんので、

isvalidのfunction文の説明 をご覧くださいませ。


で、何が違うかというと、


■function文でも、変数の型を示さないといけない

■return文(返す値)があるときは、返す値の型、return文がないときはvoidを書く


という2点かと思われます。


が、いろいろ試してみると、function文の中で新しくつくった変数に

varさえつけていれば、とりあえずエラーはでませんでした。


例えば、2つの変数を足してその答えを返す関数は、

2.0までだと、


function addNumber(num1, num2) {
 answer = num1 + num2;
 return answer;
}


こんな感じでOKだったのですが、


3.0だと、最悪


function addNumber(num1, num2) {
 var answer = num1 + num2;
 return answer;
}


と書かないとエラーが出ます。


で、3.0での模範解答は


function addNumber(num1:int, num2:int):int {
 var answer:int = num1 + num2;
 return answer;
}


という感じです。慣れないと見にくいですよねしょぼん

addNumber()のあとの :intreturnで返す値の型 を示しています。


ということで、return文がないときは代わりに:voidを書きます。


function addNumber(num1:int, num2:int):void {
var answer:int = num1 + num2;
}


:void を書いたのに、return文があるともちろんエラーになりますよ!


あと、もう一つ違う書き方は、

Functionクラスの変数を宣言して書く書き方です。


上記の模範解答を書き換えると、下記のようになります。


var addNumber:Function = function(num1:int, num2:int):int{

var answer:int = num1 + num2;

return answer;

}



というわけで、function文って慣れるまですごくとっかかりにくいのに、

さらにとっかかりにくくなったような、ならないような汗



ActionScript 3.0プログラミング入門 を読みつつ、3.0のお勉強をしていますニコニコ