I\'m just starting out in learning Ruby and I\'ve written a program that generates some numbers and assigns them to variables @one, @two, @three etc. The user can then speci
Instance variables can be retrieved via this method:
input = instance_variable_get("@one")
After this, in your case you'll have input
equal to "21".
Use instance_variable_set
(rubydoc)
instance_variable_set("@" + varname, value)
In most cases though, you should separate your normal Ruby variables from the variables your user is interacting with. How about creating a Hash of user variables, e.g.
@uservars = { 'one' => 1, 'two' => 2 }
two = @uservars['two'] # Look up 'two' variable
varname = "myvar"
@uservars[varname] = 5 # Set a variable by name
value = @uservars[varname] # Get a variable by name