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 hashes, vous devez récupérer les valeurs qu'ils contiennent. Contrairement aux tableaux où vous utilisez des index numériques, les hashes 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 absente :

person = {"name" => "Alice"}

puts person.fetch("name", "Unknown")     # Affiche : Alice
puts person.fetch("country", "Unknown")  # Affiche : Unknown
C'est utile lorsque vous souhaitez gérer élégamment les clés manquantes au lieu d'obtenir nil.
challenge icon

Défi

Facile

Lisez quatre lignes d'entrée :

  1. Un nom de produit (chaine de caractères)
  2. Un prix (nombre flottant)
  3. Une quantité en stock (entier)
  4. Une clé à rechercher (chaine 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 (sous forme de float)
  • "stock" associé à la quantité (sous forme d'entier)

Ensuite, utilisez la méthode fetch pour récupérer la valeur associée à la clé fournie dans la quatrième entrée. Si la clé n'existe pas, utilisez "<code>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 doit être :

999.99

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

Keyboard

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

Not found

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

8

Essayez vous-même

# Lire les entrées
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 le texte exact des instructions 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

Entraînez-vous par vous-même : Compilateur Ruby en ligne