Les symboles comme clés de Hash
Fait partie de la section Fondamentaux du Journey Ruby de Coddy. Leçon 78 sur 88.
Jusqu’à présent, tu as utilisé des chaînes de caractères comme clés de hachage avec la syntaxe de la fusée de hachage. Cependant, les développeurs Ruby utilisent couramment des symboles comme clés à la place, ce qui offre une approche plus claire et plus efficace.
Tu te souviens des symboles vus précédemment ? Ce sont des identifiants légers et immuables qui commencent par deux-points. Lorsque tu utilises des symboles comme clés, Ruby fournit une syntaxe abrégée spéciale :
person = {name: "Alice", age: 25, city: "Paris"}
puts person # Affiche : {:name=>"Alice", :age=>25, :city=>"Paris"}Remarque que name: remplace :name =>. Cette syntaxe abrégée ne fonctionne que lorsque la clé est un symbole. Pour accéder aux valeurs, utilise le symbole entre crochets :
person = {name: "Alice", age: 25}
puts person[:name] # Affiche : Alice
puts person[:age] # Affiche : 25L’ajout et la modification d’entrées fonctionnent de la même manière :
person = {name: "Alice"}
person[:city] = "Paris"
person[:name] = "Bob"
puts person # Affiche : {:name=>"Bob", :city=>"Paris"}Les symboles sont préférés comme clés de hachage, car ils sont plus rapides à comparer que les chaînes de caractères et utilisent moins de mémoire. Tu rencontreras ce motif dans tout le code Ruby ; il vaut donc la peine de te familiariser avec lui.
Défi
FacileLis trois lignes de saisie :
- Une marque de voiture (chaîne de caractères)
- Un nom de modèle (chaîne de caractères)
- Une année (entier)
Crée un hachage appelé car en utilisant la syntaxe abrégée des symboles (par exemple, key: value) avec les paires clé-valeur suivantes :
:brandassocié à la marque de voiture:modelassocié au nom du modèle:yearassocié à l’année (sous forme d’entier)
Effectue ensuite les opérations suivantes :
- Affiche la valeur de la clé
:model - Ajoute une nouvelle clé
:coloravec la valeur"black" - Met à jour la clé
:yearen ajoutant 1 à sa valeur actuelle - Affiche le hachage final
Par exemple, si les entrées sont Toyota, Camry et 2020, la sortie devrait être :
Camry
{:brand=>"Toyota", :model=>"Camry", :year=>2021, :color=>"black"}Si les entrées sont Honda, Civic et 2018, la sortie devrait être :
Civic
{:brand=>"Honda", :model=>"Civic", :year=>2019, :color=>"black"}Si les entrées sont Ford, Mustang et 2023, la sortie devrait être :
Mustang
{:brand=>"Ford", :model=>"Mustang", :year=>2024, :color=>"black"}Essayez vous-même
# Lire l’entrée
brand = gets.chomp
model = gets.chomp
year = gets.chomp.to_i
# TODO: Écrivez votre code ci-dessous
# 1. Créez un hash nommé 'car' en utilisant la syntaxe abrégée des symboles avec les clés :brand, :model et :year
# 2. Affichez la valeur de la clé :model
# 3. Ajoutez une nouvelle clé :color avec la valeur "black"
# 4. Mettez à jour la clé :year en ajoutant 1 à sa valeur actuelle
# 5. Affichez le hash finalCette 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 CollectEntraînez-vous par vous-même : Compilateur Ruby en ligne