Menu
Coddy logo textTech

Rechercher dans le catalogue

Fait partie de la section Programmation orientée objet du Journey Ruby de Coddy. Leçon 53 sur 57.

challenge icon

Défi

Facile

Ajoutez la commande SEARCH. Faites en sorte que chaque commande des étapes précédentes continue de fonctionner exactement comme avant.

  • SEARCH text : le texte peut contenir des espaces. Répondez par une ligne pour chaque livre dont le titre contient le texte, sans tenir compte de la casse, dans l’ordre des identifiants des livres : Dune (available) ou Emma (borrowed by ada). En l’absence de correspondance, répondez no matches.

Le code fourni transmet chaque ligne d’entrée à library.handle(line) et affiche chaque réponse renvoyée sur sa propre ligne. Les noms des membres sont des mots uniques en minuscules, les identifiants des livres sont des nombres entiers, et l’entrée contient uniquement les commandes décrites jusqu’à présent. Toute autre commande renvoie unknown command.

Votre code doit se trouver dans book.rb, member.rb et library.rb. main.rb contient le code d’entrée/sortie fourni et ne peut pas être modifié.

Essayez vous-même

require_relative 'book'
require_relative 'member'
require_relative 'library'

# Code d'entrée/sortie fourni : le garder tel quel
input = []
while (line = gets)
  input << line.chomp
end
library = Library.new
input.each do |line|
  library.handle(line).each { |reply| puts reply }
end

Toutes les leçons de Programmation orientée objet

Entraînez-vous par vous-même : Compilateur Ruby en ligne