Convertir un tableau de clés et un tableau de valeurs en un hachage dans Ruby
J'ai deux tableaux comme ceci:
keys = ['a', 'b', 'c']
values = [1, 2, 3]
Est-il un moyen simple de Ruby pour convertir ces tableaux dans la suite de hachage?
{ 'a' => 1, 'b' => 2, 'c' => 3 }
Voici ma façon de faire, mais je me sens comme il devrait y avoir une méthode intégrée pour facilement faire cela.
def arrays2hash(keys, values)
hash = {}
0.upto(keys.length - 1) do |i|
hash[keys[i]] = values[i]
end
hash
end
source d'informationauteur Jeremy Ruten
Vous devez vous connecter pour publier un commentaire.
Les ouvrages suivants, en 1.8.7:
Cela ne semble pas fonctionner dans les anciennes versions de Ruby (1.8.6). Les éléments suivants doivent être rétro-compatible:
Une autre façon est d'utiliser des each_with_index:
La même chose peut être fait en utilisant
Array#transposition
méthode. Si vous utilisez la version de Ruby >= 2.1vous pouvez prendre l'avantage de la méthodeArray#to_h
sinon utilisez votre vieil ami,Hash::[]
Voir ce DONC Q&A: qu'est Ce qu'un Rubis équivalent en Python de “zip” builtin?
Essayer cette, de cette façon, le dernier
d
va remplacer l'ancienc