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?

Était-ce utile?

La solution 2

Perform a modulo on the index using the array size:

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

Autres conseils

It's called cycle:

c = [1,2,3,4,5].cycle
10.times{p c.next}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top