我刚开始学习 Ruby,我编写了一个程序,它生成一些数字并将它们分配给变量@one、@two、@three 等。然后用户可以通过输入变量的名称来指定要更改的变量(例如一)。然后我需要做类似'@[valueofinout] = asd'的事情。我将如何做到这一点,有没有更好的方法,因为我正在考虑的方式似乎气馁?我找到了
x = "myvar"
myvar = "hi"
eval(x) -> "hi"
但我不完全理解为什么需要第二行。就我而言,我会使用类似的东西
@one = "21"
input = "one"
input = "@" + input
changeto = "22"
eval(input) -> changeto