次のように列挙子を生成する関数があります。
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
列挙子を開始値にリセットしたいと思います。無限の列挙子を使用しながらそれを行うための良い方法はありますか?