Blok, Proc, dan Lambda
Pahami cara Ruby menangani fungsi anonim menggunakan blok, Proc, dan Lambda.
Blok, Proc, dan Lambda adalah pelajaran Ruby Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Ruby Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Ruby Academy mencakup 3 pelajaran total.
Blok, Proc, dan Lambda
Blok, Proc, dan Lambda
Ruby menyediakan cara yang kuat untuk menangani bagian kode yang dapat digunakan kembali menggunakan blok, Proc, dan Lambda.
Dalam pelajaran ini, Anda akan mempelajari cara menggunakan konsep-konsep tersebut secara efektif.

Apa Itu Blok?
Apa Itu Blok?
Blok adalah bagian kode yang diapit oleh do ... end atau kurung kurawal { ... }.
[1, 2, 3].each do |num|
puts num * 2
endBlok Satu Baris
Blok Satu Baris
Untuk operasi sederhana, Anda dapat menggunakan kurung kurawal {} sebagai pengganti do ... end.
[1, 2, 3].each { |num| puts num * 2 }Meneruskan Blok ke Metode
Meneruskan Blok ke Metode
Blok dapat diteruskan ke metode seperti each, map, dan times.
5.times { puts 'Hello, Ruby!' }Apa Itu Proc?
Apa Itu Proc?
Proc adalah objek yang menyimpan blok kode dan dapat dijalankan nanti.
say_hello = Proc.new { puts 'Hello from Proc!' }
say_hello.callMeneruskan Argumen ke Proc
Meneruskan Argumen ke Proc
Proc dapat menerima argumen seperti halnya metode.
square = Proc.new { |num| num * num }
puts square.call(4)Apa Itu Lambda?
Apa Itu Lambda?
Lambda mirip dengan Proc, tetapi memiliki pemeriksaan argumen yang lebih ketat.
greet = ->(name) { puts "Hello, #{name}!" }
greet.call('Alice')Perbedaan antara Proc dan Lambda
Perbedaan antara Proc dan Lambda
- Proc mengabaikan argumen tambahan, sedangkan Lambda mewajibkan jumlah argumen yang sesuai.
- Lambda mengembalikan kontrol ke metode pemanggil, sedangkan Proc langsung keluar.
proc_example = Proc.new { return 'Proc Exited' }
lambda_example = -> { return 'Lambda Executed' }
def test
puts proc_example.call
puts lambda_example.call
end
testSelamat!
Selamat!
Anda telah mempelajari cara menggunakan blok, Proc, dan Lambda dalam Ruby.
Selanjutnya, Anda akan mempelajari kata kunci yield dan cara meneruskan blok secara dinamis.

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Blok, Proc, dan Lambda” gratis?
Ya — teks lengkap “Blok, Proc, dan Lambda” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Ruby Academy, upgrade ke CoddyKit PRO. Kursus Ruby Academy mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “Blok, Proc, dan Lambda”?
Pahami cara Ruby menangani fungsi anonim menggunakan blok, Proc, dan Lambda. Kamu berlatih Ruby Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Ruby Academy?
Tidak diperlukan pengalaman sebelumnya. Ruby Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 3.
Berapa lama pelajaran “Blok, Proc, dan Lambda” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Ruby Academy ini?
Ya. Setiap pelajaran Ruby Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Mendefinisikan Metode
- Blok, Proc, dan Lambda
- Yield dan Meneruskan Blok