Então, eu estou iterando em um intervalo como este:
(1..100).each do |n|
# n = 1
# n = 2
# n = 3
# n = 4
# n = 5
end
Mas o que eu gostaria de fazer é iterar aos dez anos.
Então, em vez de aumentar n
em 1, o próximo n
seria na verdade 10, depois 20, 30, etc. etc.
Respostas:
Consulte http://ruby-doc.org/core/classes/Range.html#M000695 para obter a API completa.
Basicamente, você usa o
step()
método Por exemplo:fonte
(time1..time2).step(15.minutes) do |time|
Você pode usar
Numeric#step
.fonte
Aqui está outra maneira, talvez mais familiar, de fazer isso:
fonte
for
loops de uso .for
, você deve usar oeach
métodoRepete sobre rng, passando cada enésimo elemento para o bloco. Se o intervalo contiver números ou cadeias, a ordem natural será usada. Caso contrário, a etapa chama succ para iterar pelos elementos do intervalo. O código a seguir usa a classe Xs, definida na documentação em nível de classe.
produz:
Referência: http://ruby-doc.org/core/classes/Range.html
......
fonte