3
內「迴歸」關鍵字的人能解釋以下行爲紅寶石塊
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
據我所知,特效(這是塊),他們應該被稱爲範圍內返回的行爲。 (與lambda不同)考慮到這一點,測試中的兩個調用都不應該返回「結束塊」?
此測試通過對 '紅寶石1.8.7(2009-06-12 PATCHLEVEL 174)[萬向darwin10.0]'(OSX 10.6.7)
難道這不是意味着,從你的測試功能'return'回報,使其通過,但未達到所有的斷言? – hammar 2011-04-20 16:12:54
確實如此。 '1個測試,0個斷言,0個失敗,0個錯誤' – 2011-04-20 16:25:36
那麼它沒有達到你的第二次調用'iterate' ... – 2011-04-20 16:41:24