Menu
Coddy logo textTech

Recapitulação - Data Pipeline

Parte da seção Lógica e Fluxo do Journey de Ruby da Coddy — lição 27 de 56.

Um desafio que processa um pequeno conjunto de dados através de uma cadeia de métodos Enumerable, da maneira que você escreverá Ruby na vida real.

challenge icon

Desafio

Médio

O array orders é fornecido, cada elemento é um hash com :product, :qty e :price. Imprima três linhas:

  1. A receita total de todos os pedidos (qty * price, somados). Use map + reduce(:+) ou sum { ... }.
  2. O número de pedidos com qty >= 3 (use count).
  3. O nome do produto do pedido com a maior receita (use max_by).

Para o array padrão, a saída é:

59
2
milk

Experimente você mesmo

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: receita total, contagem de pedidos com qtd >= 3, produto com maior receita

Todas as lições de Lógica e Fluxo