Ajouter un livre
Fait partie de la section Logique et Flux du Journey Ruby de Coddy — leçon 29 sur 56.
Ajoutez l'option 1. Add Book à la boucle du menu. Lorsque l'utilisateur la choisit, demandez le titre, l'auteur et le genre du livre, puis poussez un nouveau hash dans le tableau library.
Chaque livre commence par être non lu (read: false).
Défi
FacileÉtendez la boucle du menu. Lorsque le choix est "1" :
printl'inviteTitle:et lisez le titreprintAuthor:et lisez l'auteurprintGenre:et lisez le genre- Ajoutez un hash
{ title:, author:, genre:, read: false }danslibrary - Affichez
Book added!
Conservez le comportement de 5. Exit de la leçon précédente (affiche Goodbye! et s'arrête).
Pour les entrées 1, The Hobbit, Tolkien, Fantasy, puis 5, la sortie se termine par :
Choose an option: Title: Author: Genre: Book added!
--- Library Manager ---
...
Choose an option: Goodbye!Aide-mémoire
Ajout d'un livre à un tableau à l'aide d'un hash avec push :
print "Title: "
title = gets.chomp
print "Author: "
author = gets.chomp
print "Genre: "
genre = gets.chomp
library.push({ title: title, author: author, genre: genre, read: false })
puts "Book added!"Essayez vous-même
library = []
loop do
puts "--- Library Manager ---"
puts "1. Add Book"
puts "2. Search By Title"
puts "3. Filter By Genre"
puts "4. Mark As Read"
puts "5. Exit"
print "Choose an option: "
choice = gets.chomp
if choice == "5"
puts "Goodbye!"
break
end
# TODO: gérer choice == "1", demander le titre/auteur/genre,
# ajouter un hash dans library, afficher "Book added!"
end
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
1Les chaînes de caractères en profondeur
Aperçu des méthodes de chaînesInterpolation de chaînesParcourir les chaînesSplit et JoinRécapitulatif - String Weaver4Blocs, Procs & Lambdas
Qu'est-ce qu'un bloc ?do..end vs AccoladesLe mot-clé yieldParamètres de blocProcs et LambdasRécapitulatif - Itérateur personnalisé7Hashes - Partie 2
Hash.new avec des valeurs par défautItérer sur les HashesHashes imbriquésFusion et transformationRécapitulatif - Compteur de fréquence10Projet - Dossiers étudiants
Présentation du projetAjouter un étudiant2Intervalles
Qu'est-ce qu'un intervalle ?Méthodes d'intervalleLes intervalles dans Case / WhenRécapitulatif - Pratique des intervalles5La puissance d'Enumerable
Select et RejectChaîner MapReduce / Injectcount, all?, any?, none?group_by et partitionsort_by, min_by, max_byRécapitulatif - Data Pipeline3Tableaux 2D
Bases des tableaux 2DAccéder aux éléments 2DParcourir des tableaux 2DModèles 2D courantsRécapitulatif - Opérations sur les matrices6Projet - Gestionnaire de bibliothèque
Présentation du projetAjouter un livre