consider this:
------------
import std.stdio;
import std.string;
alias void delegate() dlgt;
int main()
{
dlgt[] dgs;
string[] lines = ["line A", "line B", "line C"];
foreach(line; lines)
{
writeln(line);
dgs ~= { writeln(line); };
}
foreach(dg; dgs) { dg(); }
return 0;
}
-----------
It prints every line in line and stores a delegate that does the
same.
The output is:
line A
line B
line C
line C
line C
line C
I want it to print every line twice. How can I store the string
of the current iteration with a delegate? I tried dup'ing into a
local, which didn't help.
Thank you for your advice.