Wypożyczanie książek
Część sekcji Programowanie obiektowe ścieżki R w Coddy. Lekcja 51 z 57.
Wyzwanie
ŁatwyDodaj polecenie BORROW za pomocą metody borrow(name, id). Wszystkie polecenia z poprzednich kroków powinny działać dokładnie tak jak wcześniej.
BORROW <name> <id>: sprawdzaj w tej kolejności i odpowiadaj pierwszym napotkanym błędem:no member bo,no book 9,Dune is not available,ada has reached the limit(członkowie mogą mieć wypożyczone najwyżejlimitksiążki, czyli 2). W przeciwnym razie odnotuj wypożyczenie zarówno w książce (borrower), jak i u członka (borrowed), a następnie odpowiedzada borrowed Dune.
Dostarczony kod przekazuje każdy wiersz wejścia do lib$handle(line) i wypisuje każdą zwróconą odpowiedź w osobnym wierszu. Imiona członków to pojedyncze słowa zapisane małymi literami, identyfikatory książek to liczby całkowite, a wejście zawiera wyłącznie opisane dotąd polecenia. Na każde inne polecenie odpowiada unknown command.
Umieść swój kod w plikach Book.R, Member.R i Library.R. Plik main.R zawiera dostarczony kod wejścia/wyjścia i nie można go edytować.
Spróbuj swoich sił
source("Book.R")
source("Member.R")
source("Library.R")
# Dostarczony kod wejścia/wyjścia: pozostaw go bez zmian
input <- suppressWarnings(readLines(file("stdin")))
lib <- Library$new()
for (line in input) {
for (reply in lib$handle(line)) cat(reply, "\n", sep = "")
}
Wszystkie lekcje w sekcji Programowanie obiektowe
1Podstawy S3
Praca z plikamiListy z klasąFunkcje konstruktoraMetody print i formatWalidatory i funkcje pomocniczePowtórzenie — temperatury4Enkapsulacja w R
Domknięcia jako obiektyŚrodowiska jako obiektyFunkcje dostępoweOchrona stanuPodsumowanie – parkometr2Generics i metody S3
Generics i UseMethodMetody domyślneMetody dla podstawowych genericsPodstawy NextMethodPowtórzenie — pola figur5Klasy S4
Definiowanie klas S4Sloty i dostępSprawdzanie poprawnościMetody wyświetlaniaPodsumowanie – katalog produktów8Klasy referencyjne
Definiowanie klas referencyjnychMetody i aktualizacja pólSemantyka kopiowaniaDziedziczenie i callSuperPodsumowanie – kolejka zadań11Projekt: Zarządzanie biblioteką
Książki i czytelnicyWypożyczanie książek3Dziedziczenie S3
Wektory klasKolejność wyszukiwania metodRozszerzanie za pomocą NextMethodSprawdzanie za pomocą inherits()Powtórzenie — lista płac pracownikówPoćwicz samodzielnie: Kompilator R online