スコープを出てしまった Proc からの return, break, next, redo, retry で発生します。
Proc の例を参照してください。
exitstatus ((<ruby 1.7 feature>))例外 LocalJumpError を発生させた break や return に指定した
戻り値を返します。
def foo
proc { return 10 }
end
begin
foo.call
rescue LocalJumpError
p $!.exitstatus
end
=> ruby 1.7.2 (2002-02-14) [i586-linux]
10
pr = proc { break 5 }
def bar(&pr)
pr.yield
end
begin
bar(&pr)
rescue LocalJumpError
p $!.exitstatus
end
=> ruby 1.7.2 (2002-02-14) [i586-linux]
5