I find myself doing this very very often and it pains me to write ugly code like this over and over again:
mixin(()=>{
string result;
foreach(i; 0..10)
result ~= "writeln(" ~ to!string(i); ~ ");\n"'
return result;
}());
All it does is generates a string in a delegate, which is immediately called and passed to a mixin.
Almost all mixins contain generated strings and most if them need a dedicated string generator.
I don't want to propose new syntax, because we all know that new syntax is the last thing that will be developed, considering the number of bugs out there. The first thing I wanted to do was this:
mixin
{
foreach(i; 0..10)
mixin ~= "writeln(" ~ to!string(i); ~ ");\n"'
}
I'm not suggesting this to be implemented, this is just what I automatically wanted to write.
Anybody else had this kind of thoughts?
--
Bye,
Gor Gyolchanyan.