Cercare nel catalogo
Fa parte della sezione Programmazione orientata agli oggetti del percorso Kotlin di Coddy. Lezione 53 di 57.
Sfida
FacileAggiungi il comando SEARCH. Il codice del passaggio precedente è già in Library.kt; mantieni ogni comando funzionante esattamente come prima.
SEARCH <text>: il testo può contenere spazi. Rispondi con una riga per ogni libro il cui titolo contiene il testo, ignorando maiuscole e minuscole, ordinati per id del libro:Dune (available)oppureEmma (borrowed by ada). Se non ci sono corrispondenze, rispondino matches.
Il codice fornito passa ogni riga di input a library.handle(line) e stampa ogni risposta restituita sulla propria riga. 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. Per qualsiasi altro comando, la risposta è unknown command.
Il tuo codice va in Book.kt, Member.kt e Library.kt. Main.kt contiene il codice fornito per input/output e non può essere modificato.
Provalo tu
fun main() {
// Codice di input/output fornito: lascialo così com'è
val input = generateSequence(::readLine).toList()
val library = Library()
for (line in input) {
for (reply in library.handle(line)) println(reply)
}
}
Tutte le lezioni di Programmazione orientata agli oggetti
1Classi e oggetti
Lavorare con i fileDefinire le classiCostruttori primariBlocchi init e convalidaCostruttori secondariRiepilogo - Tessera della biblioteca4Ereditarietà
Classi aperte e sottoclassiRidefinizione dei membrisuper e costruttoriClassi astratteRiepilogo - Elenco del personale2Proprietà e incapsulamento
Accessor personalizzatiModificatori di visibilitàSetter privatilazy e lateinitRipasso - Conto bancario5Interfacce
Dichiarare le interfacceMetodi predefinitiInterfacce multipleLe interfacce come tipiRiepilogo - Metodi di pagamento8Tipi generici
Funzioni genericheClassi genericheVincoli sui tipiVarianza con in e outRiepilogo - Coda con priorità11Progetto: Gestione della biblioteca
Libri e sociPrendere in prestito i libriEsercitati da solo: Playground Kotlin