Pregunta

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?

¿Fue útil?

Solución 2

Perform a modulo on the index using the array size:

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

Otros consejos

It's called cycle:

c = [1,2,3,4,5].cycle
10.times{p c.next}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top