Tekrar - Veri Hattı
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
1Dizeler Detaylı İnceleme
Dize Metotlarına Genel BakışDize EnterpolasyonuDizeler Üzerinde YinelemeBölme ve BirleştirmeTekrar - Dize Dokuyucu4Bloklar, Proc'lar ve Lambda'lar
Blok Nedir?do..end ve Süslü Parantezleryield Anahtar SözcüğüBlok ParametreleriProc'lar ve Lambda'larÖzet - Özel Yineleyici7Hash'ler 2. Bölüm
Varsayılanlarla Hash.newHash'ler Üzerinde Yinelemeİç İçe Hash'lerBirleştirme ve DönüştürmeTekrar - Frekans Sayacı10Proje - Öğrenci Kayıtları
Projeye Genel BakışÖğrenci Ekle5Enumerable Gücü
Seçme ve ReddetmeMap ZincirlemeReduce / Injectcount, all?, any?, none?group_by ve partitionsort_by, min_by, max_byTekrar - Veri HattıKendi başına pratik yap: Online Ruby derleyicisi