mixin functions
Jacob Carlborg
doob at me.com
Thu Nov 1 12:31:30 PDT 2012
On 2012-11-01 16:55, Gor Gyolchanyan wrote:
> 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?
I would vote for AST macros instead.
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list