It looks like MacRuby doesn't allow calling return in a block, which works in 1.8 and 1.9. This looks to be by design, so I'm not sure if the team wants a ticket created. Should I create a ticket?
---------------------------------------- def foo f = Proc.new { return "return from foo from inside Proc.new" } f.call # control leaves foo here return "return from foo" end def bar f = lambda { return "return from bar from inside lambda" } f.call # control does not leave bar here return "return from bar" end def baz f = proc { return "return from baz from inside proc" } f.call # control does not leave bar here in 1.8, but does in 1.9 return "return from baz" end puts foo puts bar puts baz ---------------------------------------- $ ruby blocks.rb return from foo from inside Proc.new return from bar return from baz $ ruby19 blocks.rb return from foo from inside Proc.new return from bar return from baz from inside proc $ macruby blocks.rb uncaught Objective-C/C++ exception... terminate called after throwing an instance of 'RoxorReturnFromBlockException*' Abort trap
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel