我刚开始学习Ruby,编写了一个生成数字并将它们分配给变量@one、@two、@three等的程序。用户可以通过输入变量名称(如one)来指定要更改的变量。然后我需要做类似'@[valueofinout] = asd'这样的事情。我该如何做,是否有更好的方法,因为我想到的方式似乎不鼓励使用? 我已经找到了一些资料。
x = "myvar"
myvar = "hi"
eval(x) -> "hi"
但我并不完全理解为什么需要第二行。在我的情况下,我是否应该使用类似于
@one = "21"
input = "one"
input = "@" + input
changeto = "22"
eval(input) -> changeto