誰かが次の行動を説明できますか
def iterate
return yield
return "end of iterate"
end
def test_iterate
assert_equal( "end of iterate", iterate { return "end of block" } )
assert_equal( "end of block", iterate { "end of block" } )
end
Procs(ブロックとは何か)は、呼び出されたスコープ内に戻る必要があることを理解しています。(ラムダとは異なり)これを念頭に置いて、テストの両方の呼び出しが「ブロックの終わり」を返すべきではありませんか?
このテストは'ruby1.8.7(2009-06-12 patchlevel 174)[universal-darwin10.0]'(OSX 10.6.7)に合格します