Evan Martin (evan) wrote in evan_tech,
Evan Martin

ruby blocks

A friend has been learning Ruby and asking questions. His first: why are procs and blocks different? (More simply: why aren't blocks special syntax for procs?)

All I could come up with is that "return" in a block returns from the lexically enclosing function, while "return" in a proc returns from the proc itself. (This is a useful distinction, though it leads to the confusing LocalJumpError exception when you call a block after control has passed away from its lexically enclosing function...)

Is that it?
  • Post a new comment


    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.