Panoramica del progetto
Fa parte della sezione Logica e flusso del percorso Ruby di Coddy. Lezione 28 di 56.
Realizzerai un piccolo gestore di biblioteca: un programma con menu che tiene traccia dei libri e permette all’utente di aggiungerli, cercarli, filtrarli e contrassegnarli come letti.
Ogni libro è un hash con queste chiavi:
{
title: "The Great Gatsby",
author: "F. Scott Fitzgerald",
genre: "Fiction",
read: false
}Li conserverai tutti in un array chiamato library e gestirai il tutto con un loop do che stampa un menu e legge una scelta. Ogni lezione aggiunge un'opzione al menu:
- 1. Aggiungere un libro
- 2. Cercare per titolo
- 3. Filtrare per genere
- 4. Segnare un libro come letto
- 5. Uscire
Questa prima lezione imposta la libreria vuota, il ciclo del menu e l'opzione di uscita. Le altre opzioni inizieranno come rami vuoti che riempirai in seguito.
Sfida
PrincipianteInizializza un array library vuoto, poi avvia un loop do che:
- Stampa il menu (formato esatto qui sotto)
- Legge la scelta dell'utente con
gets.chomp - Se la scelta è
"5", stampaGoodbye!e interrompe il ciclo
Il menu deve apparire esattamente così:
--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: Usa print per il prompt Choose an option: , così il cursore rimane sulla stessa riga.
Per l'input 5, l'output è:
--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: Goodbye!Provalo tu
# TODO: inizializza un array library vuoto
# TODO: esegui il ciclo do, stampa il menu, leggi la scelta, esci con "5"
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Le stringhe in dettaglio
Panoramica dei metodi delle stringheInterpolazione di stringheIterare sulle stringheDividere e unireRiepilogo - Tessitore di stringhe4Blocchi, Proc e Lambda
Che cos’è un Block?do..end vs parentesi graffeLa keyword yieldParametri del BlockProc e LambdaRiepilogo - Iteratore personalizzato7Hash in Ruby - Parte 2
Hash.new con valori predefinitiIterare sugli hashHash annidatiUnire e trasformareRipasso - Contatore di frequenza10Progetto - Registri degli studenti
Panoramica del progettoAggiungere uno studente2Intervalli
Che cos'è un intervallo?Metodi degli intervalliIntervalli in Case / WhenRiepilogo - Esercitarsi con gli intervalli5La potenza di Enumerable
Select e RejectConcatenare MapReduce / Injectcount, all?, any?, none?group_by e partitionsort_by, min_by, max_byRiepilogo - Pipeline di dati3Array bidimensionali
Basi degli array 2DAccesso agli elementi 2DIterare sugli array 2DPattern comuni con array 2DRiepilogo - Operazioni sulle matrici6Progetto - Gestore della biblioteca
Panoramica del progettoAggiungere un libroEsercitati da solo: Compilatore Ruby online