Özet - Özel İteratör
Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 20 / 56.
Bu bölümdeki her şeyi birleştiren; yield kullanan, bir blok kabul eden ve kullanışlı bir değer döndüren kendi yineleyici metodunuzu oluşturun.
Görev
Ortanumbers adında bir dizi alan ve dizideki her çift sayıyı bloğuna aktaran (tek sayıları tamamen atlayan) each_even adında bir metot tanımlayın.
Ardından virgülle ayrılmış bir tam sayı listesi okuyun, her aktarılan değer için "Even: <n>" yazdıran bir blokla bu liste üzerinde each_even metodunu çağırın ve son olarak şunu yazdırın:
Done: <count>Burada count, kaç tane çift sayının aktarıldığını ifade eder.
1,2,3,4,5,6 girdisi için çıktı şöyledir:
Even: 2
Even: 4
Even: 6
Done: 3Kendin dene
# TODO: her çift sayıyı döndüren each_even(numbers) metodunu tanımlayın
numbers = gets.chomp.split(",").map(&:to_i)
count = 0
# TODO: each_even metodunu "Even: <n>" yazdıran ve her döndürülen
# değer için count değişkenini artıran bir blok ile çağırın
puts "Done: #{count}"
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ı