Block သည် method call နောက်မှာလိုက်လာတဲ့ code chunk ဖြစ်ပါတယ်။ Ruby iterator တွေ၊ file handling, callbacks တွေမှာ block ကို မကြာခဏတွေ့ရပါတယ်။ Method ထဲကနေ block ကို run ချင်ရင် yield သုံးနိုင်ပါတယ်။
ruby
def with_loading
puts "Loading..."
yield
puts "Done!"
end
with_loading do
puts "Fetching user data"
endwith_loading method ကိုခေါ်တဲ့အခါ block ကိုပါပေးလိုက်ပါတယ်။ Method ထဲက yield ရောက်တဲ့နေရာမှာ block ထဲက code run ပါတယ်။
You should see
Loading... Fetching user data Done!Info
Block မပေးဘဲ yield ခေါ်ရင် error ဖြစ်နိုင်ပါတယ်။ လိုအပ်ရင် block_given? နဲ့စစ်နိုင်ပါတယ်။