Ich iteriere also über einen Bereich wie folgt:
(1..100).each do |n|
# n = 1
# n = 2
# n = 3
# n = 4
# n = 5
end
Aber was ich tun möchte, ist um 10 zu iterieren.
Anstatt also n
um 1 zu erhöhen , wäre der nächste n
tatsächlich 10, dann 20, 30 usw. usw.
Antworten:
Die vollständige API finden Sie unter http://ruby-doc.org/core/classes/Range.html#M000695 .
Grundsätzlich verwenden Sie die
step()
Methode. Beispielsweise:quelle
(time1..time2).step(15.minutes) do |time|
Sie können verwenden
Numeric#step
.quelle
Iteriert über rng und übergibt jedes n-te Element an den Block. Wenn der Bereich Zahlen oder Zeichenfolgen enthält, wird die natürliche Reihenfolge verwendet. Andernfalls ruft step succ auf, um Bereichselemente zu durchlaufen. Der folgende Code verwendet Klasse Xs, die in der Dokumentation auf Klassenebene definiert ist.
produziert:
Referenz: http://ruby-doc.org/core/classes/Range.html
......
quelle
Hier ist eine andere, vielleicht vertrautere Art, dies zu tun:
quelle
for
.for
, sollten Sie dieeach
Methode verwenden.