Согласно документации Ruby Array, существует метод to_h
, который можно использовать для преобразования массивов в хэш, если каждый элемент массива является другим массивом из двух элементов. Пример ниже из той же документации
p [[:foo, :bar], [1, 2]].to_h
Однако, когда я запускаю приведенный выше код, я получаю эту ошибку:
irb(main):001:0> p [[:foo, :bar], [1, 2]].to_h
NoMethodError: undefined method `to_h' for [[:foo, :bar], [1, 2]]:Array
from (irb):1
from E:/RubyInstall/bin/irb:12:in `<main>'
irb(main):002:0>
Моя версия Руби
C:\>ruby -v
ruby 2.0.0p247 (2013-06-27) [x64-mingw32]
Я хотел использовать эту технику, чтобы ответить на другой вопрос о Stackoverflow, но теперь я застрял, поскольку документированная функция Ruby у меня не работает.
Hash::[]
, такой какHash[[[:foo, :bar], [1, 2]]]
, для получения того же результата в Ruby ‹ 2.1. - person engineersmnky   schedule 28.07.2015Refinements
). - person Cary Swoveland   schedule 28.07.2015