callables/yield_alias_parens.rb

tests/_examples/callables/yield_alias_parens.rb in the metorex repository.

# `Proc#yield` calls the proc the way `call` and `[]` do, taking the same
# arguments and the same block.
doubler = proc { |number| number * 2 }
p(doubler.yield(4))
p(doubler.call(4))
p(doubler[4])

strict = lambda { |first, second| first - second }
p(strict.yield(9, 4))

with_block = proc { |&given| given.call(7) }
p(with_block.yield { |number| number + 1 })

Output:

8
8
8
5
8