Projektübersicht
Teil des Abschnitts Logik & Programmfluss der Ruby-Journey von Coddy — Lektion 28 von 56.
Du wirst einen kleinen Bibliotheksverwalter bauen: ein menügesteuertes Programm, das den Überblick über Bücher behält und es dem Benutzer ermöglicht, diese hinzuzufügen, zu suchen, zu filtern und als gelesen zu markieren.
Jedes Buch ist ein Hash mit diesen Schlüsseln:
{
title: "The Great Gatsby",
author: "F. Scott Fitzgerald",
genre: "Fiction",
read: false
}Sie werden alle in einem Array namens library speichern und das Ganze über einen loop do steuern, der ein Menü ausgibt und eine Auswahl einliest. Jede Lektion fügt dem Menü eine Option hinzu:
- 1. Buch hinzufügen
- 2. Nach Titel suchen
- 3. Nach Genre filtern
- 4. Buch als gelesen markieren
- 5. Beenden
Diese erste Lektion richtet die leere Bibliothek, die Menüschleife und die Beenden-Option ein. Die anderen Optionen beginnen als leere Zweige, die Sie später ausfüllen werden.
Aufgabe
AnfängerInitialisieren Sie ein leeres library Array und starten Sie dann einen loop do, der:
- Das Menü ausgibt (exaktes Format unten)
- Die Auswahl des Benutzers mit
gets.chompeinliest - Wenn die Auswahl
"5"ist,Goodbye!ausgibt und die Schleife abbricht
Das Menü muss genau so aussehen:
--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: Verwenden Sie print für die Eingabeaufforderung Choose an option: , damit der Cursor in derselben Zeile bleibt.
Für die Eingabe 5 sieht die Ausgabe wie folgt aus:
--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: Goodbye!Spickzettel
Jedes Buch ist ein Hash, der in einem library Array gespeichert wird:
library = []
book = {
title: "The Great Gatsby",
author: "F. Scott Fitzgerald",
genre: "Fiction",
read: false
}Verwenden Sie loop do mit break, um ein menügesteuertes Programm zu erstellen. Verwenden Sie print (nicht puts), um den Cursor in der gleichen Zeile wie die Eingabeaufforderung zu halten:
loop do
puts "--- Library Manager ---"
puts "1. Add Book"
puts "5. Exit"
print "Choose an option: "
choice = gets.chomp
if choice == "5"
puts "Goodbye!"
break
end
endProbier es selbst
# TODO: ein leeres library-Array initialisieren
# TODO: loop do, Menü ausgeben, Auswahl einlesen, bei "5" beenden
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Programmfluss
1Strings im Detail
String-Methoden im ÜberblickString-InterpolationIterieren über StringsSplit und JoinRückblick – String Weaver4Blöcke, Procs & Lambdas
Was ist ein Block?do..end vs. geschweifte KlammernDas yield-SchlüsselwortBlock-ParameterProcs und LambdasZusammenfassung – Eigener Iterator7Hashes Teil 2
Hash.new mit StandardwertenIterieren über HashesVerschachtelte HashesZusammenführen und TransformierenRückblick – Häufigkeitszähler10Projekt - Studentenverwaltung
ProjektübersichtStudent hinzufügen5Enumerable-Kraftpaket
Select und RejectMap-VerkettungReduce / Injectcount, all?, any?, none?group_by und partitionsort_by, min_by, max_byZusammenfassung – Data Pipeline8Fortgeschrittene Entscheidungslogik
Case mit Klassen & RegexMulti-Value whenTernärer OperatorInline if / unlessRückblick – Noten-Klassifizierer32D-Arrays
2D-Array GrundlagenZugriff auf 2D-ElementeIterieren über 2D-ArraysGängige 2D-MusterZusammenfassung – Matrix-Operationen6Projekt - Bibliotheksverwaltung
ProjektübersichtBuch hinzufügen