string mixin and alias
Andre via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Jul 29 13:00:20 PDT 2016
On Friday, 29 July 2016 at 18:39:23 UTC, Jesse Phillips wrote:
> On Friday, 29 July 2016 at 18:34:56 UTC, Jesse Phillips wrote:
>> Here the generateCode() is mixed in to the context of foo(),
>> which is fine if your code is performing actions but is no
>> good if you're creating declarations that you want to use in
>> the context of main().
>
> Here is a fully functioning example:
>
> -----------
> string generateCode(string s){return s;}
>
> void main()
> {
> int a, b;
> enum s = "a = 2 + 3; b = 4 + a;";
> foo!(s)(a, b);
> assert(a == 5);
> assert(b == 9);
> }
>
> void foo(alias s)(ref int a, ref int b) {
> mixin(generateCode(s));
> }
> -----------
Thanks for all the answers.
Kind regards
Andre
More information about the Digitalmars-d-learn
mailing list