有没有办法在 Ruby 中循环回一个枚举器?鉴于这段代码:
a=[1,2,3]
a.to_enum
a.next => 1
a.next => 2
a.next => 3
a.next => 1
当枚举数到达最后一个元素时,如何使该next
方法返回到第一个元素?
有没有办法在 Ruby 中循环回一个枚举器?鉴于这段代码:
a=[1,2,3]
a.to_enum
a.next => 1
a.next => 2
a.next => 3
a.next => 1
当枚举数到达最后一个元素时,如何使该next
方法返回到第一个元素?
您可以使用Enumerable#cycle
:
a = [1, 2, 3]
enum = a.cycle #=> #<Enumerator: [1, 2, 3]:cycle>
enum.next #=> 1
enum.next #=> 2
enum.next #=> 3
enum.next #=> 1