N
>> def foo(bar)
>> bar.call
>> end
=> :foo
>> lambda_with_break = -> { break }
=> #<Proc:0x000055b4c7e21540@(irb):4 (lambda)>
>> proc_with_break = proc { break }
=> #<Proc:0x000055b4c7e28958@(irb):5>
>> foo(lambda_with_break)
=> nil
>> foo(proc_with_break)
Traceback (most recent call last):
6: from /home/edem/.rvm/rubies/ruby-2.6.6/bin/irb:23:in `<main>'
5: from /home/edem/.rvm/rubies/ruby-2.6.6/bin/irb:23:in `load'
4: from /home/edem/.rvm/rubies/ruby-2.6.6/lib/ruby/gems/2.6.0/gems/irb-1.0.0/exe/irb:11:in `<top (required)>'
3: from (irb):7
2: from (irb):2:in `foo'
1: from (irb):5:in `block in irb_binding'
LocalJumpError (break from proc-closure)