Closures/Value capture: Difference between revisions

Line 1,328:
for i in 0..8:
echo "func[", i, "]: ", funcs[i]()</lang>
 
=={{header|Objeck}}==
<lang objeck>use Collection.Generic;
 
class Capture {
function : Main(args : String[]) ~ Nil {
funcs := Vector->New()<FuncHolder<IntHolder> >;
for(i := 0; i < 10; i += 1;) {
funcs->AddBack(FuncHolder->New(\() ~ IntHolder : () => i * i)<IntHolder>);
};
 
each(i : funcs) {
func := funcs->Get(i)->Get()<IntHolder>;
func()->Get()->PrintLine();
};
}
}
</lang>
 
{{output}}
<pre>
0
1
4
9
16
25
36
49
64
81
</pre>
 
=={{header|Objective-C}}==
760

edits