上級 › Proc.new の中で return すると LocalJumpError になることがある › パターン3
Proc.new の中で return すると LocalJumpError になることがある
Proc(Proc.newやKernel#proc)の中でreturnを使うと、そのProcを囲んでいたメソッドから抜けようとします。
1 def make_labeler 2 ________________________ ^ 3 end 4 5 greet = make_labeler 6 puts greet.call
main.rb:2:in `block in make_labeler': unexpected return (LocalJumpError)
from main.rb:6:in `<main>'
空欄を埋めて実行を通す
Proc.newで作った手続きは、生成元のメソッドが生きている間しかreturnを使えません。
次の問題