Question

I have an array

arr = [1,2,3,4,5]

and I'm wondering if there is a way to cycle through it so something like:

i = 2
arr[3+n]

would return 1, rather than nil

Is that possible using the index, or even with next?

Was it helpful?

Solution 2

Perform a modulo on the index using the array size:

arr = [1, 2, 3, 4, 5]
arr[5 % arr.size]  #=> 1

OTHER TIPS

It's called cycle:

c = [1,2,3,4,5].cycle
10.times{p c.next}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top