digitalmars.D.learn - pass variable names
- Saaa (13/13) Jul 09 2009 Is it possible to get the passed variable name à la:
- Daniel Keep (9/20) Jul 09 2009 No.
Is it possible to get the passed variable name à la: -- void functio(A...)(ref A a) { writefln(typeof(a[0])); } int i; functio(i); // prints "i" -- Also how do I fix this: -- functio(`i`); // Error: "i" is not an lvalue --
Jul 09 2009
Saaa wrote:Is it possible to get the passed variable name � la: -- void functio(A...)(ref A a) { writefln(typeof(a[0])); } int i; functio(i); // prints "i"No. You should be able to get the name using an alias: void func(alias var)() { writefln(var.stringof); } But you can't do it at runtime.Also how do I fix this: -- functio(`i`); // Error: "i" is not an lvalueYou have to store the literal in a variable.
Jul 09 2009
No. You should be able to get the name using an alias: void func(alias var)() { writefln(var.stringof); }Can this be combined with the tuple parameter?But you can't do it at runtime.I needed it to get my function to accept func( `name_i`, i, `name_ar`, ar, `name_b`, b ..etc..) only the variables need to be ref.Also how do I fix this: -- functio(`i`); // Error: "i" is not an lvalueYou have to store the literal in a variable.
Jul 09 2009
Hello Saaa,I'll seconds this, there doesn't seem to be any way to generate tuples of aliases and this is another cases where it would be handy.No. You should be able to get the name using an alias: void func(alias var)() { writefln(var.stringof); }Can this be combined with the tuple parameter?
Jul 09 2009