У меня есть два массива, как это:Преобразование массива ключей и массив значений в хэш в Ruby,
keys = ['a', 'b', 'c']
values = [1, 2, 3]
есть простой способ в Ruby, чтобы преобразовать эти массивы в следующий хэш?
{ 'a' => 1, 'b' => 2, 'c' => 3 }
Вот мой способ сделать это, но я чувствую, что для этого легко создать встроенный метод.
def arrays2hash(keys, values)
hash = {}
0.upto(keys.length - 1) do |i|
hash[keys[i]] = values[i]
end
hash
end
Так что Hash [keys.zip (values)] then? –
Спасибо, метод zip, вероятно, то, что мне нужно ... но часть «Hash [zipped]» дает мне ошибку в Ruby 1.8.6: «ArgumentError: нечетное количество аргументов для Hash». И я просто не могу понять еще один простой способ изменения «застрял» в хэш ... –
Хм. Я использую 1.8.7. Похоже, что это могло быть введено в 1.8.7. Я отредактирую ответ для обратной совместимой версии. –