Using the value of a variable as another variables name in Ruby
Posted
by hrickards
on Stack Overflow
See other posts from Stack Overflow
or by hrickards
Published on 2010-03-27T17:01:53Z
Indexed on
2010/03/27
17:03 UTC
Read the original article
Hit count: 297
Hi,
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 specify a variable to change by inputting it's name (e.g one). I then need to do something like '@[valueofinout] = asd'. How would I do this, and is there a better way as the way I'm thinking of seems to be discouraged? I've found
x = "myvar"
myvar = "hi"
eval(x) -> "hi"
but I don't completely understand why the second line is needed. In my case would I use something like
@one = "21"
input = "one"
input = "@" + input
changeto = "22"
eval(input) -> changeto
Thanks
© Stack Overflow or respective owner