Bücher zurückgeben
Teil des Abschnitts Objektorientierte Programmierung der R-Journey von Coddy. Lektion 52 von 57.
Aufgabe
EinfachFüge den Befehl RETURN über die Methode return_book(name, id) hinzu. Sorge dafür, dass jeder Befehl aus den vorherigen Schritten weiterhin exakt wie zuvor funktioniert.
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; entferne andernfalls die ID aus den Ausleihen des Mitglieds, mache das Buch verfügbar (borrowerwird zucharacter(0)) und antworte mitada returned Dune.
Der bereitgestellte Code sendet jede Eingabezeile an lib$handle(line) und gibt jede zurückgegebene Antwort in einer eigenen Zeile aus. Mitgliedsnamen sind einzelne kleingeschriebene Wörter, Buch-IDs sind ganze Zahlen, und die Eingabe enthält nur die bisher beschriebenen Befehle. Auf jeden anderen Befehl wird mit unknown command geantwortet.
Dein Code gehört in Book.R, Member.R und Library.R. main.R enthält den bereitgestellten Eingabe-/Ausgabecode und darf nicht bearbeitet werden.
Probier es selbst
source("Book.R")
source("Member.R")
source("Library.R")
# Bereitgestellter Ein-/Ausgabecode: belasse ihn wie er ist
input <- suppressWarnings(readLines(file("stdin")))
lib <- Library$new()
for (line in input) {
for (reply in lib$handle(line)) cat(reply, "\n", sep = "")
}
Alle Lektionen in Objektorientierte Programmierung
1S3-Grundlagen
Arbeiten mit DateienListen mit einer KlasseKonstruktorfunktionenPrint- und Format-MethodenValidatoren und HilfsfunktionenRückblick – Temperaturen4Kapselung in R
Closures als ObjekteUmgebungen als ObjekteZugriffsfunktionenZustand schützenRückblick – Parkuhr2S3-Generics und Methoden
Generics und UseMethodStandardmethodenMethoden für Basis-GenericsGrundlagen von NextMethodWiederholung – Flächeninhalte von Formen5S4-Klassen
S4-Klassen definierenSlots und ZugriffGültigkeitsprüfungenShow-MethodenRückblick – Produktkatalog8Referenzklassen
Referenzklassen definierenMethoden und FeldänderungenKopiersemantikVererbung und callSuperZusammenfassung – Aufgabenwarteschlange11Projekt: Bibliotheksverwaltung
Bücher und MitgliederBücher ausleihenÜbe selbstständig: Online-R-Compiler