Accéder aux éléments d'un Hash
Fait partie de la section Fondamentaux du Journey Ruby de Coddy — leçon 74 sur 88.
Maintenant que vous savez comment créer des hashs, vous devez récupérer les valeurs qui y sont stockées. Contrairement aux tableaux où vous utilisez des index numériques, les hashs utilisent des clés pour accéder à leurs valeurs.
Placez la clé entre crochets pour obtenir sa valeur correspondante :
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person["name"] # Affiche : Alice
puts person["age"] # Affiche : 25La clé doit correspondre exactement à celle que vous avez utilisée lors de la création du hash. Si vous essayez d'accéder à une clé qui n'existe pas, Ruby renvoie nil :
person = {"name" => "Alice", "age" => 25}
puts person["country"] # Affiche : (rien - nil)Vous pouvez également utiliser la méthode fetch, qui vous permet de fournir une valeur par défaut lorsque la clé est manquante :
person = {"name" => "Alice"}
puts person.fetch("name", "Unknown") # Affiche : Alice
puts person.fetch("country", "Unknown") # Affiche : UnknownCeci est utile lorsque vous souhaitez gérer les clés manquantes de manière élégante au lieu d'obtenir nil.
Défi
FacileLisez quatre lignes d'entrée :
- Un nom de produit (chaîne de caractères)
- Un prix (nombre flottant)
- Une quantité en stock (entier)
- Une clé à rechercher (chaîne de caractères)
Créez un hash appelé product avec les paires clé-valeur suivantes :
"name"associé au nom du produit"price"associé au prix (en tant que flottant)"stock"associé à la quantité (en tant qu'entier)
Ensuite, utilisez la méthode fetch pour récupérer la valeur de la clé fournie dans la quatrième entrée. Si la clé n'existe pas, utilisez "Not found" comme valeur par défaut. Affichez le résultat.
Par exemple, si les entrées sont Laptop, 999.99, 15, et price, la sortie devrait être :
999.99Si les entrées sont Keyboard, 49.99, 100, et name, la sortie devrait être :
KeyboardSi les entrées sont Mouse, 29.99, 50, et color, la sortie devrait être :
Not foundSi les entrées sont Monitor, 299.0, 8, et stock, la sortie devrait être :
8Aide-mémoire
Pour accéder aux valeurs d'un hash, utilisez la clé entre crochets :
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person["name"] # Affiche : Alice
puts person["age"] # Affiche : 25Si une clé n'existe pas, Ruby renvoie nil :
person = {"name" => "Alice", "age" => 25}
puts person["country"] # Affiche : (rien - nil)Utilisez la méthode fetch pour fournir une valeur par défaut pour les clés manquantes :
person = {"name" => "Alice"}
puts person.fetch("name", "Unknown") # Affiche : Alice
puts person.fetch("country", "Unknown") # Affiche : UnknownEssayez vous-même
# Lire l'entrée
product_name = gets.chomp
price = gets.chomp.to_f
quantity = gets.chomp.to_i
key_to_lookup = gets.chomp
# TODO: Écrivez votre code ci-dessous
# Créez un hash appelé 'product' avec les clés "name", "price", et "stock"
# Ensuite, utilisez la méthode fetch pour récupérer la valeur de key_to_lookup
# Utilisez "Not found" comme valeur par défaut si la clé n'existe pas
# Afficher le résultat
puts resultCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 47Calculateur de partage de facture
Message de bienvenueSaisie de l'utilisateur10FizzBuzz avec une variante
Présentation du jeuLa méthode FizzBuzz2Variables et types de données
Nombres et variablesType de données StringType de données BooleanType de données SymbolVérification des types de donnéesConventions de nommageRécapitulatif - Création de variables5Prise de décision
Instruction IfIf - ElseRécapitulatif - Calculatrice simpleIf - Else imbriquésInstruction Unless8Boucles
Boucle For avec des intervallesBoucle WhileBreakNextRécapitulatif - FactorielleBoucle TimesBoucle UntilBoucles imbriquéesRécapitulatif - Entrée dynamique11Tableaux
Création de tableauxAccès aux éléments d'un tableauModification de tableauxMéthodes de tableauxRécapitulatif - Tableau de produitsRécapitulatif - Tableau inverséRaccourcis pour les tableaux14Les Hashes
Créer des HashesAccéder aux éléments d'un HashModifier des HashesMéthodes de HashRécapitulatif - Hash de produitLes symboles comme clés de Hash3Les opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesRécapitulatif - Calculs simplesOpérateurs de comparaison6Entrées/Sorties de base
Sortie avec putsSortie avec print et pSortie avec des variablesEntrée avec getsLa méthode chompConversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Méthodes
Définir une méthodeParamètres de méthodeValeurs de retourRécapitulatif - Méthode SigmaRécapitulatif - Méthode de validationValeurs de paramètres par défaut12Itérer sur les collections
L'itérateur EachEach avec indexItérer sur les chaînes de caractèresMap et Collect