Menu
Coddy logo textTech

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"]
challenge icon

Görev

Başlangıç

Virgülle ayrılmış bir tamsayı listesi okuyun. İki satır yazdırın:

  1. 10 değerinden büyük sayıları (select kullanın), , ile birleştirilmiş olarak
  2. 3 ile bölünemeyen sayıları (reject kullanın), , ile birleştirilmiş olarak

3,7,12,15,20 girdisi için çıktı şöyledir:

12, 15, 20
7, 20

Kendin 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ş
quiz iconKendini test et

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

Kendi başına pratik yap: Online Ruby derleyicisi