Menu
Coddy logo textTech

Méthodes de Hash

Fait partie de la section Fondamentaux du Journey Ruby de Coddy — leçon 76 sur 88.

Ruby fournit plusieurs méthodes intégrées qui vous aident à inspecter et à travailler avec les hachages plus efficacement. Ces méthodes vous donnent un accès rapide aux informations sur le contenu de votre hachage.

La méthode keys retourne un tableau de toutes les clés du hash :

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person.keys  # Affiche : name, age, city

De même, la méthode values retourne un tableau de toutes les valeurs :

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person.values  # Affiche : Alice, 25, Paris

Pour vérifier si une clé spécifique existe, utilisez key? ou son alias has_key? :

person = {"name" => "Alice", "age" => 25}

puts person.key?("name")     # Affiche : true
puts person.key?("country")  # Affiche : false

La méthode length vous indique combien de paires clé-valeur le hash contient :

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person.length  # Affiche : 3

Enfin, empty? vérifie si le hash contient des paires :

data = {}
puts data.empty?  # Affiche : true
challenge icon

Défi

Facile

Lisez deux lignes d'entrée :

  1. Un hash représenté par des paires clé-valeur séparées par des virgules au format key:value (par exemple, name:Alice,age:25,city:Paris)
  2. Une clé dont on veut vérifier l'existence (chaîne de caractères)

Analysez la première entrée pour créer un hash, puis utilisez les méthodes de hash que vous avez apprises pour afficher les informations suivantes, chacune sur sa propre ligne :

  1. Affichez chaque clé du hash (une par ligne)
  2. Affichez --- comme séparateur
  3. Affichez chaque valeur du hash (une par ligne)
  4. Affichez --- comme séparateur
  5. Affichez le nombre de paires clé-valeur dans le hash
  6. Affichez --- comme séparateur
  7. Affichez true ou false indiquant si le hash est vide
  8. Affichez --- comme séparateur
  9. Affichez true ou false indiquant si la clé de la deuxième entrée existe dans le hash

Par exemple, si les entrées sont name:Alice,age:25,city:Paris et age, la sortie devrait être :

name
age
city
---
Alice
25
Paris
---
3
---
false
---
true

Si les entrées sont product:Laptop,price:999 et stock, la sortie devrait être :

product
price
---
Laptop
999
---
2
---
false
---
false

Si les entrées sont status:active et status, la sortie devrait être :

status
---
active
---
1
---
false
---
true

Aide-mémoire

Ruby fournit des méthodes intégrées pour inspecter et manipuler les hashs :

La méthode keys renvoie un tableau de toutes les clés :

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.keys  # Sortie : name, age, city

La méthode values renvoie un tableau de toutes les valeurs :

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.values  # Sortie : Alice, 25, Paris

La méthode key? (ou son alias has_key?) vérifie si une clé spécifique existe :

person = {"name" => "Alice", "age" => 25}
puts person.key?("name")     # Sortie : true
puts person.key?("country")  # Sortie : false

La méthode length renvoie le nombre de paires clé-valeur :

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.length  # Sortie : 3

La méthode empty? vérifie si le hash contient des paires :

data = {}
puts data.empty?  # Sortie : true

Essayez vous-même

# Lire l'entrée
input_string = gets.chomp
key_to_check = gets.chomp

# Analyser la chaîne d'entrée pour créer un hash
hash = {}
input_string.split(',').each do |pair|
  key, value = pair.split(':')
  hash[key] = value
end

# TODO: Écrivez votre code ci-dessous
# Utiliser les méthodes de hash pour :
# 1. Imprimer chaque clé (une par ligne)
# 2. Imprimer "---" comme séparateur
# 3. Imprimer chaque valeur (une par ligne)
# 4. Imprimer "---" comme séparateur
# 5. Imprimer le nombre de paires clé-valeur
# 6. Imprimer "---" comme séparateur
# 7. Imprimer true/false si le hash est vide
# 8. Imprimer "---" comme séparateur
# 9. Imprimer true/false si key_to_check existe dans le hash
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