Simplifying a string mixin

Adam D. Ruppe destructionator at gmail.com
Mon Feb 25 21:04:48 UTC 2019


On Monday, 25 February 2019 at 20:57:37 UTC, Victor Porton wrote:
> Can string mixing be split into several parts?
>
> I have a mixin like this:
>
>     mixin("struct " ~ name ~ " {\n" ~
>           "  struct Regular {\n" ~
>           "    // ..." ~
>           "  }\n" ~
>           "  struct WithDefaults {\n" ~
>           "    // ..." ~
>           "  }\n" ~
>           '}');

I'd probably write that as:

mixin(q{
   struct } ~ name ~ q{ {
     struct Regular {
        // stuff
     }
     struct With Defaults {
        // ...
     }
   }
});

> Also, what is the most proper thing to check that `name` is a 
> proper identified (not say !@#)?

just let the compiler do it imo.


More information about the Digitalmars-d-learn mailing list