自分で定義できる関数、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()のあとの :int が returnで返す値の型 を示しています。
ということで、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のお勉強をしています