Creating variable name with variables

BCS BCS at pathlink.com
Mon Apr 23 11:46:30 PDT 2007


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


More information about the Digitalmars-d-learn mailing list