Katalog durchsuchen
Teil des Abschnitts Objektorientierte Programmierung der Ruby-Journey von Coddy. Lektion 53 von 57.
Aufgabe
EinfachFüge den Befehl SEARCH hinzu. Sorge dafür, dass jeder Befehl aus den vorherigen Schritten weiterhin genau wie zuvor funktioniert.
SEARCH text: Der Text darf Leerzeichen enthalten. Antworte für jedes Buch, dessen Titel den Text enthält, unabhängig von der Groß- und Kleinschreibung, in der Reihenfolge der Buch-IDs mit einer Zeile:Dune (available)oderEmma (borrowed by ada). Wenn es keine Übereinstimmung gibt, antworte mitno matches.
Der bereitgestellte Code übergibt jede Eingabezeile an library.handle(line) und gibt jede zurückgegebene Antwort in einer eigenen Zeile aus. Mitgliedernamen bestehen aus einzelnen Kleinbuchstabenwörtern, Buch-IDs sind ganze Zahlen, und die Eingabe enthält ausschließlich die bisher beschriebenen Befehle. Bei jedem anderen Befehl lautet die Antwort unknown command.
Dein Code gehört in book.rb, member.rb und library.rb. main.rb enthält den bereitgestellten Eingabe-/Ausgabecode und darf nicht bearbeitet werden.
Probier es selbst
require_relative 'book'
require_relative 'member'
require_relative 'library'
# Bereitgestellter Ein-/Ausgabe-Code: belasse ihn wie er ist
input = []
while (line = gets)
input << line.chomp
end
library = Library.new
input.each do |line|
library.handle(line).each { |reply| puts reply }
end
Alle Lektionen in Objektorientierte Programmierung
1Klassen und Objekte
Arbeiten mit DateienKlassen definierenInstanzvariablenMethoden und selfto_s und inspectRückblick – Bibliotheksausweis4Kapselung
Private MethodenGeschützte MethodenPrivate SetterZustand schützenRückblick – Verkaufsautomat7Polymorphismus und Duck Typing
PolymorphismusDuck TypingAbstrakte MethodenFälle und KlassenRückblick – Zahlungsmethoden2Getter und Setter sowie self
Leser und SchreiberBenutzerdefinierte Setterself in MethodenIdentität und GleichheitWiederholung – Kontaktliste5Vererbung
UnterklassenMethoden überschreibensuper aufrufenis_a? und VorfahrenRückblick – Gehaltsabrechnung des Personals8Spezielle Methoden
Gleichheit und HashOperator-MethodenIndexieren und AnhängenBenutzerdefinierte CollectionsRückblick – Brüche11Projekt: Bibliotheksverwaltung
Bücher und MitgliederBücher ausleihenÜbe selbstständig: Online-Ruby-Compiler