Comment créer et utiliser des hachages dans Ruby

click fraud protection

Tableaux ne sont pas le seul moyen de gérer des collections de variables dans Rubis. Un autre type de collection de variables est le hacher, également appelé tableau associatif. Un hachage est comme un tableau en ce sens qu'il s'agit d'une variable qui stocke d'autres variables. Cependant, un hachage est différent d'un tableau dans la mesure où les variables stockées ne sont pas stockées dans un ordre particulier, et elles sont récupérées avec une clé plutôt que par leur position dans la collection.

Créer un hachage avec des paires clé / valeur

Un hachage est utile pour stocker ce qu'on appelle paires clé / valeur. Une paire clé / valeur a un identifiant pour signifier à quelle variable du hachage vous souhaitez accéder et une variable à stocker dans cette position dans le hachage. Par exemple, un enseignant peut stocker les notes d'un élève dans un hachage. La note de Bob serait accessible dans un hachage par la clé "Bob" et la variable stockée à cet endroit serait la note de Bob.

Une variable de hachage peut être créée de la même manière qu'une variable de tableau. La méthode la plus simple consiste à créer un objet de hachage vide et à le remplir avec des paires clé / valeur. Notez que l'opérateur d'index est utilisé, mais le nom de l'élève est utilisé à la place d'un nombre.

instagram viewer

N'oubliez pas que les hachages ne sont pas ordonnés, ce qui signifie qu'il n'y a pas de début ni de fin définis comme dans un tableau. Donc, vous ne pouvez pas ajouter de hachage. Les valeurs sont simplement insérées dans le hachage à l'aide de l'opérateur d'index.

#! / usr / bin / env rubis
grades = Hash.new
notes ["Bob"] = 82
notes ["Jim"] = 94
notes ["Billy"] = 58
met les notes ["Jim"]

Littéraux de hachage

Tout comme les tableaux, les hachages peuvent être créés avec du hachage littéraux. Les littéraux de hachage utilisent les accolades au lieu des crochets et les paires de valeurs clés sont jointes par =>. Par exemple, un hachage avec une seule paire clé / valeur de Bob / 84 ressemblerait à ceci: {"Bob" => 84}. Des paires clé / valeur supplémentaires peuvent être ajoutées au littéral de hachage en les séparant par des virgules. Dans l'exemple suivant, un hachage est créé avec les notes d'un certain nombre d'étudiants.

#! / usr / bin / env rubis
grades = {"Bob" => 82,
"Jim" => 94,
"Billy" => 58
}
met les notes ["Jim"]

Accès aux variables dans le hachage

Il peut arriver que vous deviez accéder à chaque variable du hachage. Vous pouvez toujours parcourir les variables du hachage en utilisant le chaque , mais cela ne fonctionnera pas de la même manière que chaque boucle avec des variables de tableau. Parce qu'un hachage n'est pas ordonné, l'ordre dans lequel chaque bouclera sur les paires clé / valeur peut ne pas être identique à l'ordre dans lequel vous les avez insérées. Dans cet exemple, un hachage de notes sera bouclé et imprimé.

#! / usr / bin / env rubis
grades = {"Bob" => 82,
"Jim" => 94,
"Billy" => 58
}
grades.each do | nom, grade |
met "# {name}: # {grade}"
fin
instagram story viewer