Menu
Coddy logo textTech

Map Zincirleme

Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 22 / 56.

Temel bilgiler bölümünde map ile tanıştın; her öğeyi dönüştürerek yeni bir dizi oluşturur. Gerçek gücü, onu select, reject ve benzerleriyle zincirlediğinde ortaya çıkar.

Her yöntem bir dizi döndürür, bu nedenle sonuç üzerinde başka bir yöntem çağırmak zinciri sürdürür:

numbers = [1, 2, 3, 4, 5]
result = numbers
  .select { |n| n.odd? }
  .map    { |n| n * 10 }
puts result.inspect   # [10, 30, 50]

Zinciri yukarıdan aşağıya okuyun: sayılarla başlayın, tek olanları koruyun, her birini 10 ile çarpın. Geçici değişken yok, döngü yok.

&:method_name kısayolu, blok yalnızca bir yöntemi çağırdığında çalışır:

["hi", "yo"].map { |s| s.upcase }   # ["HI", "YO"]
["hi", "yo"].map(&:upcase)         # ["HI", "YO"]  (aynı)

Bu kısaltma Ruby kodlarında her yerde karşına çıkar. Gördüğünde onu tanı.

challenge icon

Görev

Kolay

Virgülle ayrılmış bir kelime listesi okuyun. 3 karakterden uzun olan kelimeleri büyük harflerle, , ile birleştirerek tek bir satırda yazdırın.

Bunu tek bir zincir olarak oluşturun: uzun olanları select ile seçin, &:upcase ile map uygulayın, ardından join kullanın.

hi,hello,yo,coddy,sup girdisi için çıktı şöyledir:

HELLO, CODDY

Kendin dene

words = gets.chomp.split(",")

# TODO: select + map(&:upcase) + join zincirleyin
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