Özet - Data Pipeline
Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 27 / 56.
Küçük bir veri kümesini, gerçek hayatta Ruby yazacağınız şekilde bir dizi Enumerable metodu aracılığıyla çalıştıran bir meydan okuma.
Görev
Ortaorders dizisi verilmiştir, her bir öğe :product, :qty ve :price anahtarlarını içeren bir hash'tir. Üç satır yazdırın:
- Tüm siparişlerin toplam geliri (
qty * pricetoplamı).map+reduce(:+)veyasum { ... }kullanın. qty >= 3olan siparişlerin sayısı (countkullanın).- En yüksek gelire sahip siparişin ürün adı (
max_bykullanın).
Varsayılan dizi için çıktı şöyledir:
59
2
milkKendin dene
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: toplam gelir, miktarı >= 3 olan siparişlerin sayısı, en yüksek gelirli ürün
Mantık ve Akış bölümündeki tüm dersler
1Derinlemesine Stringler
String Metotlarına Genel BakışString InterpolationStringler Üzerinde GezinmeSplit ve JoinÖzet - String Weaver4Bloklar, Procs ve Lambdalar
Blok Nedir?do..end ve Süslü Parantezleryield Anahtar KelimesiBlok ParametreleriProcs ve LambdalarÖzet - Özel İteratör7Hashes Bölüm 2
Varsayılan Değerlerle Hash.newHash Yapıları Üzerinde Yinelemeİç İçe Hash YapılarıBirleştirme ve DönüştürmeÖzet - Frekans Sayacı10Proje - Öğrenci Kayıtları
Projeye Genel BakışÖğrenci Ekle5Enumerable Gücü
Select ve RejectMap ZincirlemeReduce / Injectcount, all?, any?, none?group_by ve partitionsort_by, min_by, max_byÖzet - Data Pipeline8İleri Seviye Karar Yapıları
Sınıflar ve Regex ile CaseÇok Değerli whenTernary OperatörüSatır İçi if / unlessÖzet - Not Sınıflandırıcı