Ruby конвертировать массив во вложенный хэш - PullRequest
24 голосов
/ 23 февраля 2011

У меня есть следующее:

value = 42  
array = ["this","is","a","test"]

как я могу преобразовать это, чтобы получить

{ "this" => { "is" => { "a" => { "test" => 42 } } } }

массив всегда плоский.

Спасибо!

1 Ответ

86 голосов
/ 23 февраля 2011

Попробуйте это:

h = array.reverse.inject(value) { |a, n| { n => a } }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...