Prestito dei libri
Fa parte della sezione Programmazione orientata agli oggetti del percorso R di Coddy. Lezione 51 di 57.
Sfida
FacileAggiungi il comando BORROW tramite il metodo borrow(name, id). Mantieni ogni comando dei passaggi precedenti funzionante esattamente come prima.
BORROW <name> <id>: controlla in quest’ordine e rispondi con il primo problema:no member bo,no book 9,Dune is not available,ada has reached the limit(i membri possono avere al massimolimitlibri, 2). Altrimenti registra il prestito sia sul libro (borrower) sia sul membro (borrowed) e rispondiada borrowed 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: mantienilo 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