On Sunday, 14 April 2019 at 12:00:38 UTC, Andrey wrote:
On Sunday, 14 April 2019 at 11:44:16 UTC, Boris Carvajal wrote:
On Sunday, 14 April 2019 at 10:07:30 UTC, Andrey wrote:
I want to mixin only name - not the full function code.

I think you can't do a partial statement in a mixin.
But this works by declaring pointers to functions and assigning a function literal to them.

import std.stdio;
void main()
{
    auto dg = (uint i){ writeln('a' , " - ", i); };
     enum letters = ['A', 'B', 'C'];
     static foreach(ch; letters)
     {
         mixin("void function(uint i) print" ~ ch ~ ";");
         dg = (uint i){ writeln(ch , " - ", i); };
         mixin("print" ~ ch ~ " = dg;");
     }

     printA(1);
     printB(2);
     printC(3);
}

Reply via email to