本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。