Use yield in Ruby

yield function is one of the good stuff in the Ruby that gives different kind of code reuse logic to your code. It just like lambda in Scheme and Lips. when yield is called in a function it cuts the execution of its container function and pass the execution time to the do-end block then when the execution ends with the end keyword, it continues the execution from the last point.

Here is an example code that uses yield function.

def around_staff
  eren = 20
  puts "first step"
  yield(eren)
  puts "last step"
end

def do_something
  around_staff do |eren|
    puts "I did something around"+ eren.to_s
  end
end

do_something
Share