Special Code String for mixins
Stefan Koch via Digitalmars-d
digitalmars-d at puremagic.com
Wed Mar 15 08:50:02 PDT 2017
On Wednesday, 15 March 2017 at 15:39:38 UTC, Nick Sabalausky
(Abscissa) wrote:
> On 03/15/2017 09:50 AM, Inquie wrote:
>>
>> e.g.,
>>
>> string s = "smile";
>> enum code1 = @#
>> void happyCode = "Makes me @@s@@";
>> #@
>>
>> enum code2 = code1 ~ @#
>> int ImThisHappy = @@s.length@@;
>> #@
>>
>> mixin(code);
>>
>
> import scriptlike; // https://github.com/Abscissa/scriptlike
>
> string s = "smile";
>
> // http://semitwist.com/scriptlike/scriptlike/core/interp.html
> enum code1 = mixin(interp!q{
> void happyCode = "Makes me ${s}";
> });
>
> enum code2 = code1 ~ mixin(interp!q{
> int ImThisHappy = ${s.length};
> });
>
> mixin(code2);
>
> Wish I could get rid of the need for "mixin(...)" in interp
> though.
But you can.
in interp you can evoke the function you generate however for
that you need to pass s to it.
More information about the Digitalmars-d
mailing list