5
考慮一個簡單枚舉是這樣的:爲什麼Enumerator.new需要一個「yielder」對象?
natural_numbers = Enumerator.new do |yielder|
number = 1
loop do
yielder.yield number
number += 1
end
end
我的問題是:爲什麼紅寶石要求我們的yielder對象調用的收益呢?換句話說:爲什麼我們不能用yield number
代替yielder.yield number
?在這個例子中,如果允許的話,它看起來是同樣的東西。有沒有例子說明yielder是以不平凡的方式使用的?如果是這樣,你可以給一個嗎?如果不是,Yielder的目的是什麼?
謝謝。