I am sure this is a really easy question for most of you, but i was not
able to find an answer to this, or to understand the difference between
this two:
$ irb
irb(main):001:0> a = Proc.new {true}
=> #<Proc:0xb7cae308@(irb):1>
irb(main):002:0> b = a.call
=> true
irb(main):003:0> a = Proc.new {return true}
=> #<Proc:0xb7c9f768@(irb):3>
irb(main):004:0> b = a.call
LocalJumpError: unexpected return
from (irb):3
from (irb):4:in `call'
from (irb):4
from :0
why can't a block return something?