Roger Pack wrote: > p = proc do |arg| > return if arg == 17 > puts arg > end > > p[1] # prints "1" > p[17] # prints nothing > > p = Proc.new do |arg| > return if arg == 17 > puts arg > end > > p[1] # prints "1" > p[17] # raises LocalJumpError In 1.8 "proc" means "lambda" and "lambda" can be returned from. I think a similar behavioral difference still exists in Ruby 1.9. I'd love to see return/break/next behavior clearly specified in all cases, but it's a little "guessy" right now. Check RubySpecs for all the weird wildness. - Charlie