Donc, je suis en train d'itérer sur une plage comme ceci:
(1..100).each do |n|
# n = 1
# n = 2
# n = 3
# n = 4
# n = 5
end
Mais ce que j'aimerais faire, c'est itérer par 10.
Donc au lieu d'augmenter n
de 1, le suivant n
serait en fait 10, puis 20, 30, etc.
Réponses:
Voir http://ruby-doc.org/core/classes/Range.html#M000695 pour l'API complète.
En gros, vous utilisez la
step()
méthode. Par exemple:la source
(time1..time2).step(15.minutes) do |time|
Vous pouvez utiliser
Numeric#step
.la source
Voici une autre façon, peut-être plus familière, de le faire:
la source
for
boucles d' utilisation .for
, vous devriez utiliser laeach
méthode.Itère sur rng, en passant chaque nième élément au bloc. Si la plage contient des nombres ou des chaînes, un ordre naturel est utilisé. Sinon, step invoque succ pour itérer dans les éléments range. Le code suivant utilise la classe Xs, qui est définie dans la documentation au niveau de la classe.
produit:
Référence: http://ruby-doc.org/core/classes/Range.html
......
la source