Menu
CoddyTech

Créer des Hashes

Fait partie de la section Fondamentaux du Journey Ruby de Coddy. Leçon 73 sur 88.

Les tableaux sont très pratiques pour stocker des listes ordonnées, mais parfois, tu dois associer des valeurs à des étiquettes spécifiques plutôt qu’à des index numériques. Un hachage stocke les données sous forme de paires clé-valeur, où chaque clé pointe vers une valeur correspondante.

Pour créer un hash, utilisez des accolades avec des clés et des valeurs séparées par => (appelé une flèche de hash) :

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

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

Chaque clé doit être unique dans la table de hachage, mais les valeurs peuvent se répéter. Les clés et les valeurs peuvent être de n’importe quel type de données, y compris des chaînes de caractères, des nombres ou même des tableaux.

Tu peux aussi créer un hachage vide et ajouter des paires plus tard :

scores = {}

puts scores  # Affiche : {}

Les tables de hachage sont parfaites pour représenter des objets du monde réel avec des attributs nommés, comme un produit avec un nom et un prix, ou un utilisateur avec une adresse e-mail et un mot de passe. Contrairement aux tableaux, où il faut se souvenir des positions, les tables de hachage permettent d’utiliser des noms explicites pour organiser les données.

challenge icon

Défi

Facile

Lisez trois lignes de données en entrée :

  1. Un titre de livre (chaîne de caractères)
  2. Le nom d’un auteur (chaîne de caractères)
  3. Une année de publication (entier)

Créez un hash appelé book avec trois paires clé-valeur en utilisant la syntaxe hash rocket (=>) :

  • "title" associé au titre du livre
  • "author" associé au nom de l’auteur
  • "year" associé à l’année de publication (sous forme d’entier)

Affichez le hash avec puts.

Par exemple, si les données en entrée sont Ruby Basics, Jane Smith et 2023, la sortie doit être :

{"title"=>"Ruby Basics", "author"=>"Jane Smith", "year"=>2023}

Si les données en entrée sont The Great Gatsby, F. Scott Fitzgerald et 1925, la sortie doit être :

{"title"=>"The Great Gatsby", "author"=>"F. Scott Fitzgerald", "year"=>1925}

Si les données en entrée sont 1984, George Orwell et 1949, la sortie doit être :

{"title"=>"1984", "author"=>"George Orwell", "year"=>1949}

Essayez vous-même

# Lire les données d'entrée
title = gets.chomp
author = gets.chomp
year = gets.to_i

# TODO: Créer un hash nommé 'book' contenant trois paires clé-valeur en utilisant la syntaxe hash rocket (=>)
# Les clés doivent être : "title", "author", "year"


# Afficher le hash
puts book
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