2
假设我有一个数组如何使无限枚举
array = [1,2,3]
我需要建立这样一个枚举,将在循环方式返回值:
array.next #=> 1
array.next #=> 2
array.next #=> 3
array.next #=> 1
array.next #=> 2
...
我相信有一个整洁的解决方案可为
假设我有一个数组如何使无限枚举
array = [1,2,3]
我需要建立这样一个枚举,将在循环方式返回值:
array.next #=> 1
array.next #=> 2
array.next #=> 3
array.next #=> 1
array.next #=> 2
...
我相信有一个整洁的解决方案可为
Array#cycle
/Enumerable#cycle
做你在找什么:
e = [1,2,3].cycle #=> #<Enumerator: [1, 2, 3]:cycle>
e.next #=> 1
e.next #=> 2
e.next #=> 3
e.next #=> 1
e.next #=> 2
(1..3).cycle
返回等价值。