【发布时间】:2010-11-08 04:33:08
【问题描述】:
在 Ruby 1.8(我的版本是 1.8.7-72)中,这段代码:
foo = lambda do
for j in 1..2
return
end
end
foo.call
使用LocalJumpError 崩溃:
test2.rb:3: unexpected return (LocalJumpError)
from test2.rb:2:in `each'
from test2.rb:2
from test2.rb:6:in `call'
from test2.rb:6
为什么要这样做?但是,它似乎在我的 Ruby 1.9 版本上运行良好。
编辑:这不仅仅是 lambda 内部的返回;以下运行良好:
foo = lambda do
return
end
foo.call
【问题讨论】:
标签: ruby lambda for-loop return