匿名関数チョイメモ
血相が若干かわるほど少し焦ったのでメモ。
FlashIDE(CS3) で以下のコードはコンパイルされるのですが、
addEventListener(Event.ENTER_FRAME,function(){trace("ok");})
FlashDevelop(mxmlc) だとこんなコンパイルエラーをはきます。
警告: return value for function 'anonymous' に型宣言がありません。
addEventListener(Event.ENTER_FRAME,function(){trace("ok");})
一瞬、匿名関数に型宣言「Function」を付けろって事なのかと思い、
addEventListener(Event.ENTER_FRAME,function:Function(){trace("ok");})
とかあり得ないコードを書いてみたけど、やっぱりダメ。
実は何のことはなく戻り値を指定してやれば良かったようです。つまりこう。
addEventListener(Event.ENTER_FRAME,function():void{trace("ok");})
「:void」が必要だった訳です。
「'anonymous' に型宣言がありません。」じゃなくて
「'anonymous' の戻り値に型宣言がありません。」
って言ってくれればいいのに。