Как изменить значение переменной, которая является значением в хэше (используя хэш)? - PullRequest
0 голосов
/ 13 января 2019

У меня есть хеш-таблица, которую я использую для хранения переменных в качестве значений. Я хочу иметь возможность изменять эти переменные, просматривая их в хэше, но я не могу придумать способ сделать это без изменения самого значения.

bar = "ruby"
foo = {key: bar}
foo
#=> { "key" => "ruby" }

foo[:key] = "rails"
foo
#=> { "key" => "rails" }

Как изменить переменную, хранящуюся в качестве значения в хэше, вместо изменения самого хеша?

1 Ответ

0 голосов
/ 13 января 2019

Интересно, почему вы хотели бы сделать такую ​​вещь, но вы могли бы хранить имена переменных вместо самих переменных:

bar = "ruby"
foo = {key: 'bar'}

Установка переменной:

eval("#{foo[:key]} = 'rails'")
p foo # {:key=>"bar"}
p bar # "rails"

Получение переменной:

eval(foo[:key])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...