Menu
Coddy logo textTech

Présentation du projet

Fait partie de la section Logique et Flux du Journey Ruby de Coddy — leçon 28 sur 56.

Vous allez construire un petit gestionnaire de bibliothèque : un programme piloté par menu qui assure le suivi des livres et permet à l'utilisateur d'en ajouter, d'en rechercher, de les filtrer et de les marquer comme lus.

Chaque livre est un hash avec ces clés :

{
  title:  "The Great Gatsby",
  author: "F. Scott Fitzgerald",
  genre:  "Fiction",
  read:   false
}

Vous les conserverez tous dans un tableau appelé library et piloterez l'ensemble à partir d'une loop do qui affiche un menu et lit un choix. Chaque leçon ajoute une option au menu :

  • 1. Ajouter un livre
  • 2. Rechercher par titre
  • 3. Filtrer par genre
  • 4. Marquer un livre comme lu
  • 5. Quitter

Cette première leçon met en place la bibliothèque vide, la boucle du menu et l'option de sortie. Les autres options commenceront par des branches vides que vous remplirez plus tard.

challenge icon

Défi

Débutant

Initialisez un tableau library vide, puis commencez une boucle loop do qui :

  1. Affiche le menu (format exact ci-dessous)
  2. Lit le choix de l'utilisateur avec gets.chomp
  3. Si le choix est "5", affiche Goodbye! et sort de la boucle

Le menu doit ressembler exactement à ceci :

--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: 

Utilisez print pour l'invite Choose an option: afin que le curseur reste sur la même ligne.

Pour l'entrée 5, la sortie est :

--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: Goodbye!

Aide-mémoire

Chaque livre est un hash stocké dans un tableau library :

library = []

book = {
  title:  "The Great Gatsby",
  author: "F. Scott Fitzgerald",
  genre:  "Fiction",
  read:   false
}

Utilisez loop do avec break pour construire un programme piloté par menu. Utilisez print (pas puts) pour garder le curseur sur la même ligne que l'invite :

loop do
  puts "--- Library Manager ---"
  puts "1. Add Book"
  puts "5. Exit"
  print "Choose an option: "
  choice = gets.chomp

  if choice == "5"
    puts "Goodbye!"
    break
  end
end

Essayez vous-même

# TODO: initialiser un tableau de bibliothèque vide

# TODO: boucle do, afficher le menu, lire le choix, quitter sur "5"
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 Logique et Flux