我有一个以下列方式生成枚举器的函数:
def create_example_enumerator(starting_value)
current = starting_value
e = Enumerator.new do |y|
loop do
current += 1
y << current
end
end
end
当前的行为非常简单。
> e = create_example_enumerator(0)
#<Enumerator: details>
> e.next
1
> e.next
2
> e.rewind
#<Enumerator: details>
> e.next
3
我想将e.rewind
枚举器重置回它的起始值。有没有一种很好的方法可以在仍然使用无限枚举器的同时做到这一点?