Menu
Coddy logo textTech

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.

challenge icon

Aufgabe

Anfänger

Initialisieren Sie ein leeres library Array und starten Sie dann einen loop do, der:

  1. Das Menü ausgibt (exaktes Format unten)
  2. Die Auswahl des Benutzers mit gets.chomp einliest
  3. 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
end

Probier es selbst

# TODO: ein leeres library-Array initialisieren

# TODO: loop do, Menü ausgeben, Auswahl einlesen, bei "5" beenden
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Programmfluss