Seçme ve Reddetme
Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 21 / 56.
select yöntemi, yalnızca bloğun doğru kabul edilen bir değer döndürdüğü öğeleri içeren yeni bir dizi döndürür. Ruby'de "filtre" bu şekilde yazılır.
numbers = [1, 2, 3, 4, 5, 6]
evens = numbers.select { |n| n.even? }
puts evens.inspect # [2, 4, 6]reject tersidir; blok tarafından false döndürülen her şeyi tutar:
odds = numbers.reject { |n| n.even? }
puts odds.inspect # [1, 3, 5]İkisi de yeni bir dizi döndürür; orijinal diziye dokunulmaz.
Blok yalnızca bir koşuldur; true veya false olarak değerlendirilen her şey işe yarar:
words = ["hi", "hello", "hey", "yo"]
long = words.select { |w| w.length >= 3 }
puts long.inspect # ["hello", "hey"]Görev
BaşlangıçVirgülle ayrılmış bir tamsayı listesi okuyun. İki satır yazdırın:
10değerinden büyük sayıları (selectkullanın),,ile birleştirilmiş olarak3ile bölünemeyen sayıları (rejectkullanın),,ile birleştirilmiş olarak
3,7,12,15,20 girdisi için çıktı şöyledir:
12, 15, 20
7, 20Kendin dene
numbers = gets.chomp.split(",").map(&:to_i)
# TODO: satır 1, numbers > 10, ", " ile birleştirilmiş
# TODO: satır 2, 3'e bölünemeyen numbers, ", " ile birleştirilmiş
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
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