以下のコードのトレース結果が「1,2,3,4,5」ではなく「5,5,5,5,5」である理由と、匿名関数がcollect要素を参照するようにする方法を誰かが説明できますか? array?(この例では、「var item」は list[0],[1],[2],[3],[4] を参照する必要があります)。
var list:Array=[1,2,3,4,5];
var funcs:Array=[];
for each(var item:int in list){
funcs.push( function(){
trace(item);
});
}
for each(var func:Function in funcs){
func();
}
trace result: 5,5,5,5,5