Así que estoy iterando sobre un rango como este:
(1..100).each do |n|
# n = 1
# n = 2
# n = 3
# n = 4
# n = 5
end
Pero lo que me gustaría hacer es iterar por 10.
Entonces, en lugar de aumentar n
en 1, el siguiente n
sería en realidad 10, luego 20, 30, etc.
Respuestas:
Consulte http://ruby-doc.org/core/classes/Range.html#M000695 para obtener la API completa.
Básicamente usas el
step()
método. Por ejemplo:fuente
(time1..time2).step(15.minutes) do |time|
Puedes usar
Numeric#step
.fuente
Aquí hay otra forma, quizás más familiar, de hacerlo:
fuente
for
bucles.for
, debe usar eleach
método.Itera sobre rng, pasando cada enésimo elemento al bloque. Si el rango contiene números o cadenas, se utiliza el orden natural. De lo contrario, el paso invoca succ para iterar a través de los elementos de rango. El siguiente código usa la clase X, que se define en la documentación a nivel de clase.
produce:
Referencia: http://ruby-doc.org/core/classes/Range.html
......
fuente