Я только начинаю изучать Ruby и написал программу, которая генерирует некоторые числа и присваивает их переменным @one, @two, @three и т. Д. Затем пользователь может указать переменную, которую нужно изменить, введя ее имя (например, один). Затем мне нужно сделать что-то вроде '@ [valueofinout] = asd'. Как бы я это сделал, и есть ли лучший способ, поскольку способ, о котором я думаю, кажется обескураженным? Я нашел
x = "myvar"
myvar = "hi"
eval(x) -> "hi"
но я не совсем понимаю, зачем нужна вторая строка. В моем случае я бы использовал что-то вроде
@one = "21"
input = "one"
input = "@" + input
changeto = "22"
eval(input) -> changeto