Tengo dos arreglos como:la conversión de una matriz de claves y una serie de valores en un hash en Ruby
keys = ['a', 'b', 'c']
values = [1, 2, 3]
¿Hay una manera sencilla en Ruby para convertir esas matrices en el siguiente de hash?
{ 'a' => 1, 'b' => 2, 'c' => 3 }
Aquí está mi manera de hacerlo, pero siento que debería haber un método incorporado para hacer esto fácilmente.
def arrays2hash(keys, values)
hash = {}
0.upto(keys.length - 1) do |i|
hash[keys[i]] = values[i]
end
hash
end
So Hash [keys.zip (values)] then? –
Gracias, el método zip es probablemente lo que necesito ... pero la parte "Hash [zip]" me está dando un error en Ruby 1.8.6: "ArgumentError: número impar de argumentos para Hash". Y simplemente no puedo encontrar otra forma simple de cambiar 'comprimido' en un hash ... –
Hmm. Estoy usando 1.8.7. Parece que esto podría haberse introducido en 1.8.7. Editaré la respuesta para una versión compatible con versiones anteriores. –