上級 › Proc.new の中で return すると LocalJumpError になることがある › パターン5
Proc.new の中で return すると LocalJumpError になることがある
Proc(Proc.newやKernel#proc)の中でreturnを使うと、そのProcを囲んでいたメソッドから抜けようとします。
1 def make_marker 2 __________________________ ^ 3 end 4 5 greet = make_marker 6 puts greet.call
main.rb:2:in `block in make_marker': unexpected return (LocalJumpError)
from main.rb:6:in `<main>'
空欄を埋めて実行を通す
戻り値だけが欲しい単純な処理を書きたい場合、無名関数はProcではなくlambdaを使うのが安全です。
次の問題