Convertir un tableau en hachage en rubis

Convertir un tableau en hachage en rubis

Dans Ruby, un hachage fait référence à une collection de paires de valeurs clés. Il est étroitement similaire à un tableau dans le sens où il peut stocker plusieurs valeurs connexes, mais l'indexation se fait via des clés plutôt que des entiers. Si vous connaissez les langages de programmation Python, considérez les hachages Ruby comme des dictionnaires Python.

D'un autre côté, un tableau fait référence à une collecte ordonnée de valeurs. Vous pouvez considérer un tableau comme une liste d'éléments avec un index ou une position spécifique pour chaque élément.

Vous pouvez rencontrer de tels cas où vous devez étendre un index à un hachage Ruby. Cela permet de cartographier facilement un ensemble de valeurs donné dans un tableau à un format de type dictionnaire correspondant.

Ce tutoriel couvre diverses méthodes pour convertir un tableau rubis donné en un hachage.

Exemple de tableau

Pour démontrer comment nous pouvons convertir un tableau en un hachage dans Ruby, nous travaillerons avec l'exemple de tableau qui est fourni dans les éléments suivants:

arr = [1, 'mysql', 2, 'postgresql', 3, 'sqlite']


Dans ce cas, nous souhaitons convertir le tableau en un hachage où la valeur numérique agit comme la clé, et les valeurs de chaîne sont la valeur du hachage.

Convertir un tableau en hachage en utilisant la méthode TO_H

Dans les dernières versions Ruby, nous avons accès à la méthode TO_H qui nous permet de convertir un tableau bidimensionnel en un hachage Ruby.

Par conséquent, nous devons d'abord convertir le tableau unidimensionnel en un tableau bidimensionnel.

Nous pouvons y parvenir en utilisant la méthode chaque_slice. Cette méthode est définie dans le module énumérable Ruby qui est inclus dans la classe du tableau. Il nous permet d'itérer sur les éléments d'un tableau en tranches de taille donnée.

Nous pouvons utiliser cette méthode comme démontré dans le code suivant:

art.Chaque_slice (2)
=> #


Cela renvoie un objet Enumerator que nous pouvons convertir en un tableau à l'aide de la méthode TO_A comme indiqué dans les éléments suivants:

IRB (Main): 004: 0> arr.Chaque_slice (2).to_a
=> [[1, "mysql"], [2, "postgresql"], [3, "sqlite"]]


Cela devrait nous donner un tableau bidimensionnel, comme démontré précédemment.

Enfin, nous pouvons convertir les valeurs en A a comme indiqué dans ce qui suit:

IRB (Main): 005: 0> Arr.Chaque_slice (2).to_a.to_h


Le hachage résultant est le suivant:

=> 1 => "MySQL", 2 => "PostgreSQL", 3 => "Sqlite"

Conversion d'un tableau en hachage en utilisant la méthode de hachage :: []

La notation :: [] dans la classe de hachage Ruby nous permet de renvoyer un nouveau hachage avec les valeurs fournies.

Pour convertir un tableau en un hachage en utilisant cette méthode, nous pouvons utiliser la commande suivante:

IRB (Main): 011: 0> hash ['1', 'mysql', '2', 'postgresql', '3', 'sqlite']
=> "1" => "MySQL", "2" => "PostgreSQL", "3" => "Sqlite"


Cela devrait renvoyer un nouveau hachage sans avoir à convertir le tableau en un tableau bidimensionnel.

Conclusion

Nous avons discuté de la façon dont vous pourriez utiliser la méthode du tableau # to_h et les méthodes de hachage :: [] pour convertir un tableau en un hachage dans le langage de programmation Ruby.