Menu
Coddy logo textTech

Panoramica dell'inventario

Fa parte della sezione Logica e flusso del percorso Ruby di Coddy. Lezione 55 di 56.

Un report sull’inventario che mette alla prova gli hash, le catene Enumerable, group_by e un pizzico di formattazione.

challenge icon

Sfida

Medio

L'array inventory è fornito. Ogni elemento è un hash con :name, :category, :qty e :price.

Stampa quattro righe:

  1. Valore totale dell'inventario di tutti gli elementi (qty * price, sommato), stampato come numero intero.
  2. La categoria con il maggior numero di elementi, nel formato Top category: <name> (<count>). In caso di parità, ordina alfabeticamente per nome della categoria.
  3. Nomi degli elementi esauriti (qty == 0), ordinati alfabeticamente e separati da , . Se non ce ne sono, stampa (none).
  4. Nomi dei 3 elementi più costosi in base al prezzo unitario, dal più alto al più basso e separati da , . In caso di parità, ordina alfabeticamente per nome.

Per l'inventario predefinito, l'output è:

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

Provalo tu

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: stampa il valore totale, la categoria principale, i nomi degli articoli esauriti e i primi 3 per prezzo
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Ruby online