本文簡要介紹ruby語言中 Enumerator.new
的用法。
用法
new(size = nil) { |yielder| ... }
創建一個新的 Enumerator
對象,該對象可用作 Enumerable
。
迭代由給定的塊定義,其中 “yielder” 對象,作為塊參數,可用於通過調用 yield
方法(別名為 <<
)產生一個值:
fib = Enumerator.new do |y|
a = b = 1
loop do
y << a
a, b = b, a + b
end
end
fib.take(10) # => [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
可選參數可用於指定如何以惰性方式計算大小(請參閱 Enumerator#size
)。它可以是一個值,也可以是一個可調用對象。
相關用法
- Ruby Enumerator.next_values用法及代碼示例
- Ruby Enumerator.next用法及代碼示例
- Ruby Enumerator.peek_values用法及代碼示例
- Ruby Enumerator.each用法及代碼示例
- Ruby Enumerator.feed obj用法及代碼示例
- Ruby Enumerator.produce用法及代碼示例
- Ruby Enumerator.size用法及代碼示例
- Ruby Enumerator.peek用法及代碼示例
- Ruby Enumerator.with_object用法及代碼示例
- Ruby Enumerator.each_with_object用法及代碼示例
- Ruby Enumerator.e + enum用法及代碼示例
- Ruby Enumerator each_with_index用法及代碼示例
- Ruby Enumerator each_with_object用法及代碼示例
- Ruby Enumerator類用法及代碼示例
- Ruby Enumerator each用法及代碼示例
- Ruby Enumerable.any?用法及代碼示例
- Ruby Enumerable min_by()用法及代碼示例
- Ruby Enumerable each_witth_object()用法及代碼示例
- Ruby Enumerable.slice_before用法及代碼示例
- Ruby Enumerable each_cons()用法及代碼示例
- Ruby Enumerable.uniq用法及代碼示例
- Ruby Enumerable uniq()用法及代碼示例
- Ruby Enumerable.find_all用法及代碼示例
- Ruby Enumerable.max用法及代碼示例
- Ruby Enumerable.map用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Enumerator.new。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。