Итак, я перебираю диапазон так:
(1..100).each do |n|
# n = 1
# n = 2
# n = 3
# n = 4
# n = 5
end
Но то, что я хотел бы сделать, это повторить к 10-м.
Таким образом, вместо увеличения n
на 1 следующим n
будет 10, затем 20, 30 и т. Д.
Ответы:
См. Http://ruby-doc.org/core/classes/Range.html#M000695 для полного API.
В основном вы используете
step()
метод. Например:источник
(time1..time2).step(15.minutes) do |time|
Вы можете использовать
Numeric#step
.источник
Вот еще один, возможно, более знакомый способ сделать это:
источник
for
циклы.for
, вы должны использоватьeach
метод.Итерирует по rng, передавая каждый n-й элемент в блок. Если диапазон содержит числа или строки, используется естественный порядок. В противном случае step вызывает succ для перебора элементов диапазона. В следующем коде используется класс Xs, который определен в документации уровня класса.
производит:
Ссылка: http://ruby-doc.org/core/classes/Range.html
......
источник