Предположим, что у меня есть вложенный хеш:
h = { 'one' =>
{'two' =>
{'three' => 'a'}
}
}
Я могу изменить его следующим образом:
h['one']['two']['three'] = 'b'
Как изменить вложенное значение с переменной в качестве ключа?
Скажем, у меня есть следующая переменная:
key = "one.two.three"
Чтобы получить доступ к ней динамически, я использую следующее:
key.split('.').inject(h,:[])
Но, конечно, настройка этого типа не работает:
key.split('.').inject(h,:[]) = 'b' # fails
Итак, как я могу динамически установить значение вложенного хэша?