Verwenden des Werts einer Variablen als anderen Variablennamen in Ruby
Ich beginne gerade mit dem Erlernen von Ruby und habe ein Programm geschrieben, das einige Zahlen generiert und sie den Variablen @one, @two, @three usw. zuweist. Der Benutzer kann dann eine zu ändernde Variable durch Eingabe ihres Namens angeben (z. B. einer). Ich muss dann so etwas wie '@ [valueofinout] = asd' machen. Wie würde ich das tun, und gibt es einen besseren Weg, als der, an den ich denke, entmutigt zu sein scheint? Ich habe gefunden
x = "myvar"
myvar = "hi"
eval(x) -> "hi"
aber ich verstehe nicht ganz, warum die zweite Zeile benötigt wird. In meinem Fall würde ich sowas benutzen
@one = "21"
input = "one"
input = "@" + input
changeto = "22"
eval(input) -> changeto