How to pass variables to string mixins?

Jonathan M Davis newsgroup.d at jmdavisprog.com
Tue Feb 26 01:06:15 UTC 2019


On Monday, February 25, 2019 5:07:54 PM MST Victor Porton via Digitalmars-d-
learn wrote:
> I want to create a string mixin based on a supplementary variable
> (name2 below):
>
> Let we have something like:
>
> mixin template X(string name) {
>    immutable string name2 = '_' ~ name;
>    mixin("struct " ~ name2 ~ "{ int i; }");
> }
>
> But it would create variable name2 inside X, which should not be
> created. How to solve this problem?

I'm not sure I quite follow what you mean, but if you're looking for name2
to only exist at compile time rather than creating a variable, then make it
an enum. In general, that's what should be done with values that are only
intended for use during compile time.

- Jonathan M Davis





More information about the Digitalmars-d-learn mailing list