[FlashDevelop] クロージャ内のデバッグ
FlashDevelopのデバッガでは、クロージャ(関数内関数)で外側のメソッドのローカル変数やクラスのメンバを参照して、その値を確認することができない。
public function test() { |
var timer:Timer = new Timer( 50 ); |
|
timer.addEventListener(TimerEvent.TIMER, |
function (e:TimerEvent): void { |
// クロージャ内のローカル変数は参照できる |
var str: String = "82319fed-f98e-4606-9a05-61b208a29314" ; |
} |
); |
|
timer.start(); |
} |
上記の場合、クロージャ内のローカル変数strは参照できるが、外側のtest()のローカル変数timerやthisは参照できない。
ただし、引数のeからe.target/ e.currentTarget経由でthisを参照することができる。デバッグ時にthisを参照できなくて困ったというときに試してみよう。