Bücher zurückgeben
Teil des Abschnitts Objektorientierte Programmierung der Ruby-Journey von Coddy. Lektion 52 von 57.
Aufgabe
EinfachFüge den Befehl RETURN hinzu. Alle Befehle aus den vorherigen Schritten müssen weiterhin genau wie zuvor funktionieren.
RETURN name id: Antworte wie beim Ausleihen mitno member booderno book 9; wenn das Mitglied dieses Buch nicht ausgeliehen hat, antworte mitada does not have Dune; andernfalls entferne die Ausleihe beim Mitglied, mache das Buch verfügbar und antworte mitada returned Dune.
Der bereitgestellte Code übergibt jede Eingabezeile an library.handle(line) und gibt jede zurückgegebene Antwort in einer eigenen Zeile aus. Mitgliedsnamen sind einzelne Wörter in Kleinbuchstaben, 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'
# Mitgelieferter Ein-/Ausgabecode: 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