Restituzione dei libri
Fa parte della sezione Programmazione orientata agli oggetti del percorso R di Coddy. Lezione 52 di 57.
Sfida
FacileAggiungi il comando RETURN tramite il metodo return_book(name, id). Mantieni funzionanti esattamente come prima tutti i comandi dei passaggi precedenti.
RETURN <name> <id>: rispondino member booppureno book 9come per il prestito; se il membro non ha quel libro, rispondiada does not have Dune; altrimenti rimuovi l’id dai prestiti del membro, rendi disponibile il libro (borrowerdiventacharacter(0)) e rispondiada returned Dune.
Il codice fornito invia ogni riga di input a lib$handle(line) e stampa ogni risposta restituita su una riga separata. I nomi dei membri sono parole singole in minuscolo, gli ID dei libri sono numeri interi e l’input contiene solo i comandi descritti finora. Qualsiasi altro comando restituisce unknown command.
Il tuo codice va inserito in Book.R, Member.R e Library.R. main.R contiene il codice di input/output fornito e non può essere modificato.
Provalo tu
source("Book.R")
source("Member.R")
source("Library.R")
# Codice di input/output fornito: lascialo così com'è
input <- suppressWarnings(readLines(file("stdin")))
lib <- Library$new()
for (line in input) {
for (reply in lib$handle(line)) cat(reply, "\n", sep = "")
}
Tutte le lezioni di Programmazione orientata agli oggetti
1Nozioni di base su S3
Lavorare con i fileListe con una classeFunzioni costruttriciMetodi di stampa e formattazioneValidatori e funzioni di supportoRipasso - Temperature4Incapsulamento in R
Chiusure come oggettiAmbienti come oggettiFunzioni di accessoProteggere lo statoRiepilogo - Parcometro2Generics e metodi S3
Generics e UseMethodMetodi predefinitiMetodi per i generics di baseNozioni di base su NextMethodRiepilogo - Aree delle forme5Classi S4
Definire le classi S4Slot e accessoControlli di validitàMetodi showRiepilogo - Catalogo prodotti8Classi di riferimento
Definizione delle classi di riferimentoMetodi e aggiornamenti dei campiSemantica della copiaEreditarietà e callSuperRiepilogo - coda di attività11Progetto: Gestione della biblioteca
Libri e iscrittiPrestito dei libriEsercitati da solo: Compilatore R online