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, cityDe 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, ParisPour 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 : falseLa méthode length vous indique combien de paires clé-valeur le hash contient :
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.length # Affiche : 3Enfin, empty? vérifie si le hash contient des paires :
data = {}
puts data.empty? # Affiche : trueDéfi
FacileLisez deux lignes d'entrée :
- 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) - 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 :
- Affichez chaque clé du hash (une par ligne)
- Affichez
---comme séparateur - Affichez chaque valeur du hash (une par ligne)
- Affichez
---comme séparateur - Affichez le nombre de paires clé-valeur dans le hash
- Affichez
---comme séparateur - Affichez
trueoufalseindiquant si le hash est vide - Affichez
---comme séparateur - Affichez
trueoufalseindiquant 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
---
trueSi les entrées sont product:Laptop,price:999 et stock, la sortie devrait être :
product
price
---
Laptop
999
---
2
---
false
---
falseSi les entrées sont status:active et status, la sortie devrait être :
status
---
active
---
1
---
false
---
trueAide-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, cityLa méthode values renvoie un tableau de toutes les valeurs :
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.values # Sortie : Alice, 25, ParisLa 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 : falseLa méthode length renvoie le nombre de paires clé-valeur :
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.length # Sortie : 3La méthode empty? vérifie si le hash contient des paires :
data = {}
puts data.empty? # Sortie : trueEssayez 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 hashCette 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 dynamique3Les 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