Menu
CoddyTech

Bestandsübersicht

Teil des Abschnitts Logik und Ablauf der Ruby-Journey von Coddy. Lektion 55 von 56.

Ein Inventarbericht, der Hashes, Enumerable-Ketten, group_by und ein wenig Formatierung verwendet.

challenge icon

Aufgabe

Mittel

Das Array inventory ist vorgegeben. Jedes Element ist ein Hash mit :name, :category, :qty und :price.

Geben Sie vier Zeilen aus:

  1. Der gesamte Inventarwert über alle Artikel hinweg (qty * price, summiert), ausgegeben als Ganzzahl.
  2. Die Kategorie mit der höchsten Anzahl an Artikeln im Format Top category: <name> (<count>). Bei Gleichstand entscheidet die alphabetische Reihenfolge des Kategorienamens.
  3. Namen der Artikel, die nicht vorrätig sind (qty == 0), alphabetisch sortiert und mit , verbunden. Falls keine vorhanden sind, geben Sie (none) aus.
  4. Namen der Top 3 der teuersten Artikel nach Einzelpreis, der höchste zuerst, verbunden mit , . Bei Gleichstand entscheidet der Name alphabetisch.

Für das Standard-Inventar lautet die Ausgabe:

232
Top category: food (3)
milk
chair, lamp, milk

Probier es selbst

inventory = [
  { name: "apple",  category: "food",        qty: 10, price: 2 },
  { name: "bread",  category: "food",        qty: 4,  price: 3 },
  { name: "milk",   category: "food",        qty: 0,  price: 4 },
  { name: "chair",  category: "furniture",   qty: 2,  price: 35 },
  { name: "lamp",   category: "furniture",   qty: 5,  price: 20 },
  { name: "pencil", category: "stationery",  qty: 30, price: 1 }
]

# TODO: Gesamtwert, Top-Kategorie, Namen der nicht vorrätigen Artikel und Top 3 nach Preis ausgeben
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 und Ablauf

Übe selbstständig: Online-Ruby-Compiler