Więc iteruję w takim zakresie:
(1..100).each do |n|
# n = 1
# n = 2
# n = 3
# n = 4
# n = 5
end
Ale chciałbym zrobić iterację po dziesiątkach.
Więc zamiast zwiększać n
o 1, następna n
będzie faktycznie 10, potem 20, 30 itd. Itd.
Odpowiedzi:
Zobacz http://ruby-doc.org/core/classes/Range.html#M000695, aby zapoznać się z pełnym interfejsem API.
Zasadniczo używasz
step()
metody. Na przykład:źródło
(time1..time2).step(15.minutes) do |time|
Możesz użyć
Numeric#step
.źródło
Oto inny, być może bardziej znajomy sposób na zrobienie tego:
źródło
for
pętli użytkowania .for
, powinieneś użyć tejeach
metody.Iteruje po rng, przekazując każdy n-ty element do bloku. Jeśli zakres zawiera liczby lub ciągi, stosowany jest porządek naturalny. W przeciwnym razie step wywołuje succ do iteracji przez elementy zakresu. Poniższy kod używa klas X, które są zdefiniowane w dokumentacji na poziomie klasy.
produkuje:
Źródła: http://ruby-doc.org/core/classes/Range.html
......
źródło