Rekap: Alur Data
Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 27 dari 56.
Sebuah tantangan yang memproses dataset kecil melalui rangkaian method Enumerable, seperti saat kamu menulis Ruby dalam situasi nyata.
Tantangan
SedangDiberikan array orders, setiap elemennya adalah hash dengan :product, :qty, dan :price. Cetak tiga baris:
- Total pendapatan dari semua pesanan (
qty * price, dijumlahkan). Gunakanmap+reduce(:+), atausum { ... }. - Jumlah pesanan dengan
qty >= 3(gunakancount). - Nama produk dari pesanan dengan pendapatan tertinggi (gunakan
max_by).
Untuk array bawaan, output-nya adalah:
59
2
milkCoba sendiri
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: hitung total pendapatan, jumlah pesanan dengan qty >= 3, dan produk dengan pendapatan tertinggi
Semua pelajaran di Logika dan Alur
1Mendalami String
Ringkasan Method StringInterpolasi StringMenelusuri StringMemisahkan dan MenggabungkanRekap: Perangkai String4Block, Proc, dan Lambda
Apa Itu Block?do..end vs Kurung KurawalKata Kunci yieldParameter BlockProc dan LambdaRangkuman, Iterator Kustom5Andalan Enumerable
Select dan RejectMerangkai MapReduce / Injectcount, all?, any?, none?group_by dan partitionsort_by, min_by, max_byRekap: Alur Data8Pengambilan Keputusan Lanjutan
Case dengan class & regexwhen dengan Banyak NilaiOperator Ternaryif / unless SebarisUlasan, Pengklasifikasi NilaiLatihan sendiri: Compiler Ruby online