digitalmars.D.learn - pass variable names
- "Saaa" <empty needmail.com> Jul 09 2009
- Daniel Keep <daniel.keep.lists gmail.com> Jul 09 2009
- "Saaa" <empty needmail.com> Jul 09 2009
- BCS <none anon.com> Jul 09 2009
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 lvalue
You 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); }
But you can't do it at runtime.Also how do I fix this: -- functio(`i`); // Error: "i" is not an lvalue
You have to store the literal in a variable.
func( `name_i`, i, `name_ar`, ar, `name_b`, b ..etc..) only the variables need to be ref.
Jul 09 2009
Hello Saaa,No. You should be able to get the name using an alias: void func(alias var)() { writefln(var.stringof); }
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.
Jul 09 2009








BCS <none anon.com>