Creating variable name with variables
okibi
okibi at ratedo.com
Mon Apr 23 12:10:09 PDT 2007
BCS Wrote:
> okibi wrote:
> > Hello,
> >
> > I was wondering if it is possible to create a variable name with other variables. For example:
> >
> > char[] left = "num1";
> > char[] right = "num2";
> >
> > char[] num1num2 = "doesn't matter what this equals";
> >
> > How would I create the variable with the values of the first two variables?
> >
> > Thanks!
>
> you can't unless left and right are const. If they are you have several
> options:
>
> mixin("char[] "~left~right~";")
>
> then use mixin(left~right) for the variable
>
> another option is a total hack
>
> template Value(T, char[] str) { T Value; }
>
> Value!(char[], left~right) = "hello";
> writef("%s\n", Value!(char[], left~right));
>
> I haven't actually tried that usage, but you can make it work for some
> cases. The advantage of it is that you can do it with D v1.0
They won't be const so that first method is out. I'll give the second method a go and see if it works.
Thanks!
More information about the Digitalmars-d-learn
mailing list