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
返回等價值。