我偶然發現了這樣的例子:爲什麼要使用枚舉紅寶石
file = "./path"
var = Enumerator.new do |y|
CSV.foreach(file) do |row|
y.yield(row)
end
end
問題是,爲什麼任何種類的存儲數據,內部統計員,insted的陣列?是什麼什麼上面,這之間的行爲差異:對於這兩種情況下
file = "./path"
var = []
CSV.foreach(file) do |row|
var << row
end
時,我想的東西與數據看起來是一樣的:
var.each {|row| puts row}
那麼有什麼優點和缺點這樣的結構?
到目前爲止這是真實的,但請注意,懶惰的枚舉器是在稍後添加的。統計員沒有他們就存在。 – sawa
@sawa _lazy enumerator_特性是'Enumerator'和'Enumarable'之間的一個適配器,可以輕鬆支持枚舉類型的懶惰。 – sschmeck