Rubyについて Part 30

このエントリーをはてなブックマークに追加
484デフォルトの名無しさん
> Procでreturnするとfooから抜けちゃって関数内関数として使えません(> <)
>
> def foo
> boo = Proc.new do
> 100.times do |i|
> 100.times do |j|
> if i == 50 && j == 50
> return
> end
> end
> end
> end
> boo.call
> p "foo" # 実行されず
> end
>
> foo

この例の場合、Proc.new なら駄目なわけだが、
lambda なら期待通り動く。

procがどちらのように動くかはバージョンによるらしい。

どちらかに絞れるのかな? これ。