Apa Itu Block?
Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 15 dari 56.
Kamu sudah menulis blok. Setiap kali kamu menulis each do |x| ... end, bagian di antara do dan end adalah blok: potongan kode yang diteruskan ke method.
[1, 2, 3].each do |n|
puts n * 2
endDi sini, each adalah method pada array, dan do |n| ... end adalah blok. each menjalankan blok satu kali untuk setiap elemen, dengan meneruskannya sebagai n.
Block bukan object terpisah yang kamu simpan dalam variabel, block terikat langsung ke pemanggilan method. Sebuah method menerima block atau tidak, dan sebagian besar method iterasi (each, map, select, times) dirancang untuk menerima block.
3.times do |i|
puts "hi #{i}"
endMemanggil method tanpa bloknya mengubah fungsinya. [1,2,3].map tanpa blok mengembalikan enumerator, bukan array yang telah diubah, jadi blok merupakan bagian dari makna method tersebut.
Tantangan
PemulaBaca sebuah bilangan bulat n dari input. Gunakan method times dengan sebuah blok untuk mencetak pesan Iteration <i> untuk setiap nilai i dari 0 hingga n - 1.
Untuk input 3, output-nya adalah:
Iteration 0
Iteration 1
Iteration 2Coba sendiri
n = gets.to_i
# TODO: gunakan n.times dengan blok untuk mencetak setiap iterasi
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