Blok Parametreleri
Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 18 / 56.
Dikey çizgiler (pipe) arasındaki değişkenler, |x|, |x, y|, blok parametreleridir. Bunlar, metodun bloğa aktardığı değerleri isimlendirir.
Bazı metotlar tek bir değer iletir, diğerleri ise birkaç tane. each her seferinde bir öğe iletir:
[10, 20, 30].each { |n| puts n }each_with_index iki değer iletir: öğe ve indeksi:
["a", "b", "c"].each_with_index do |letter, i|
puts "#{i}: #{letter}"
end
# 0: a
# 1: b
# 2: cBir hash üzerinde döngü oluştururken, blok parametreleri anahtar ve değerdir:
{ a: 1, b: 2 }.each do |key, value|
puts "#{key} = #{value}"
endBlok parametrelerinin sayısı ve sırası, metodun ne döndürdüğüne (yield) bağlıdır. Şüpheye düştüğünüzde dokümanları kontrol edin veya bir parametre deneyip ne elde ettiğinizi görün.
Görev
Kolayscores hash'i verilmiştir. Hem (name, points) çiftine hem de konumuna erişebilmek için each_with_index biçimi üzerinde to_a ile yineleyin. Her girdi için şu biçimde bir satır yazdırın:
<rank>. <name> - <points>rank'in 1'den başladığına (0'dan değil) dikkat edin.
Varsayılan hash için çıktı şöyledir:
1. Alice - 90
2. Bob - 85
3. Cara - 78Kendin dene
scores = { "Alice" => 90, "Bob" => 85, "Cara" => 78 }
# TODO: her giriş için "<rank>. <name> - <points>" yazdırın, sıralama 1'den başlar
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