Closures/Value capture: Difference between revisions

Content added Content deleted
(Fixed output D versions)
(Simpler first D version)
Line 171: Line 171:
int delegate()[] funcs;
int delegate()[] funcs;


foreach (j; 0 .. 10)
foreach (i; 0 .. 10)
funcs ~= {
funcs ~= (i => () => i ^^ 2)(i);
int i = j;
return () => i ^^ 2;
}();


writeln(funcs[3]());
writeln(funcs[3]());