Menu
Coddy logo textTech

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 : 25

La 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 : Unknown

Ceci est utile lorsque vous souhaitez gérer les clés manquantes de manière élégante au lieu d'obtenir nil.

challenge icon

Défi

Facile

Lisez quatre lignes d'entrée :

  1. Un nom de produit (chaîne de caractères)
  2. Un prix (nombre flottant)
  3. Une quantité en stock (entier)
  4. 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.99

Si les entrées sont Keyboard, 49.99, 100, et name, la sortie devrait être :

Keyboard

Si les entrées sont Mouse, 29.99, 50, et color, la sortie devrait être :

Not found

Si les entrées sont Monitor, 299.0, 8, et stock, la sortie devrait être :

8

Aide-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 : 25

Si 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 : Unknown

Essayez 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 result
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux