Menu
Coddy logo textTech

Riepilogo - Pipeline di dati

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

Una sfida che fa passare un piccolo set di dati attraverso una catena di metodi Enumerable, proprio come scriverai Ruby nella pratica.

challenge icon

Sfida

Medio

L'array orders è dato; ogni elemento è un hash con :product, :qty e :price. Stampa tre righe:

  1. Il ricavo totale di tutti gli ordini (qty * price, sommati). Usa map + reduce(:+), oppure sum { ... }.
  2. Il numero di ordini con qty >= 3 (usa count).
  3. Il nome del prodotto dell'ordine con il ricavo più alto (usa max_by).

Per l'array predefinito, l'output è:

59
2
milk

Provalo tu

orders = [
  { product: "apple",  qty: 4, price: 2 },
  { product: "bread",  qty: 1, price: 3 },
  { product: "milk",   qty: 6, price: 4 },
  { product: "cheese", qty: 2, price: 12 }
]

# TODO: ricavo totale, numero di ordini con qty >= 3, prodotto con il ricavo più alto

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Ruby online