Menu
CoddyTech

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

L’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.

challenge icon

Défi

Facile

Lis trois lignes de saisie :

  1. Une marque de voiture (chaîne de caractères)
  2. Un nom de modèle (chaîne de caractères)
  3. 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 :

  • :brand associé à la marque de voiture
  • :model associé au nom du modèle
  • :year associé à l’année (sous forme d’entier)

Effectue ensuite les opérations suivantes :

  1. Affiche la valeur de la clé :model
  2. Ajoute une nouvelle clé :color avec la valeur "black"
  3. Met à jour la clé :year en ajoutant 1 à sa valeur actuelle
  4. 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 final
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