Ho due array come questo:Conversione di un array di chiavi e una serie di valori in un hash in Ruby
keys = ['a', 'b', 'c']
values = [1, 2, 3]
C'è un modo semplice in Ruby per convertire quegli array nel seguente hash?
Ecco il mio modo di farlo, ma ho la sensazione che ci dovrebbe essere un metodo integrato per farlo facilmente.
def arrays2hash(keys, values)
hash = {}
0.upto(keys.length - 1) do |i|
hash[keys[i]] = values[i]
end
hash
end
Quindi Hash [keys.zip (valori)], quindi? –
Grazie, il metodo zip è probabilmente quello di cui ho bisogno ... ma la parte "Hash [zippato]" mi sta dando un errore in Ruby 1.8.6: "ArgumentError: numero dispari di argomenti per Hash". E proprio non riesco a capire un altro modo semplice di cambiare 'zippato' in un hash ... –
Hmm. Sto usando 1.8.7. Sembra che questo potrebbe essere stato introdotto in 1.8.7. Modificherò la risposta per una versione compatibile con le versioni precedenti. –