Frage

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?

War es hilfreich?

Lösung 2

Perform a modulo on the index using the array size:

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

Andere Tipps

It's called cycle:

c = [1,2,3,4,5].cycle
10.times{p c.next}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top