On 2019-02-25 21:57, 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 would like to split it into several mixins (preferably using regular non-string mixins).

Are things like this possible?

You can create multiple functions that returns a portion of the string to mixin. For example:

mixin(generateCode(name));

string generateCode(string name)
{
    return part1(name) ~ part2() ~ part3(); // and so on
}

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

Have one of the above functions to do the validation.

--
/Jacob Carlborg

Reply via email to