Not with local variables, but you can with a struct.

===

import std.stdio;

void main() {
        struct Vars {
                int x;
                int y;
                int z;

                ref int get(string name) {
// allMembers gets the names of each member as a string
                        foreach(member; __traits(allMembers, typeof(this))) {
// we're only interested in ints because string++ doesn't make sense anyway static if(is(typeof(__traits(getMember, this, member)) == int)) {
                                        if(member == name)
                                                return __traits(getMember, 
this, member);
                                }
                        }
                        throw new Exception("I don't know " ~ name);
                }

        }

        Vars vars;

        writeln("which variable?");
        vars.get(readln[0 .. $-1])++;
        writeln(vars.x, vars.y, vars.z);
}

===

Reply via email to