Parameter Block
Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 18 dari 56.
Variabel di antara tanda pipa, |x|, |x, y|, adalah parameter blok. Nama-nama tersebut merujuk pada nilai yang diteruskan method ke blok.
Beberapa method meneruskan satu nilai, sementara yang lain meneruskan beberapa nilai. each meneruskan satu elemen setiap kali:
[10, 20, 30].each { |n| puts n }each_with_index menerima dua nilai, elemen dan indeksnya:
["a", "b", "c"].each_with_index do |letter, i|
puts "#{i}: #{letter}"
end
# 0: a
# 1: b
# 2: cSaat melakukan iterasi pada hash, parameter bloknya adalah key dan value:
{ a: 1, b: 2 }.each do |key, value|
puts "#{key} = #{value}"
endJumlah dan urutan parameter blok bergantung pada apa yang dihasilkan method. Jika ragu, periksa dokumentasinya atau coba satu parameter dan lihat hasilnya.
Tantangan
MudahHash scores sudah diberikan. Iterasikan hash tersebut dengan each_with_index pada bentuk to_a-nya agar kamu dapat mengakses pasangan (name, points) sekaligus posisinya. Cetak satu baris untuk setiap entri dengan format berikut:
<rank>. <name> - <points>Dengan rank dimulai dari 1 (bukan 0).
Untuk hash default, output-nya adalah:
1. Alice - 90
2. Bob - 85
3. Cara - 78Coba sendiri
scores = { "Alice" => 90, "Bob" => 85, "Cara" => 78 }
# TODO: cetak "<rank>. <name> - <points>" untuk setiap entri, peringkat dimulai dari 1
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami String
Ringkasan Method StringInterpolasi StringMenelusuri StringMemisahkan dan MenggabungkanRekap: Perangkai String4Block, Proc, dan Lambda
Apa Itu Block?do..end vs Kurung KurawalKata Kunci yieldParameter BlockProc dan LambdaRangkuman, Iterator Kustom5Andalan Enumerable
Select dan RejectMerangkai MapReduce / Injectcount, all?, any?, none?group_by dan partitionsort_by, min_by, max_byRekap: Alur Data8Pengambilan Keputusan Lanjutan
Case dengan class & regexwhen dengan Banyak NilaiOperator Ternaryif / unless SebarisUlasan, Pengklasifikasi NilaiLatihan sendiri: Compiler Ruby online