Правильное использование Ruby метода Date.step () - PullRequest
5 голосов
/ 31 августа 2010

Я пытался использовать метод step () для объекта Date, чтобы извлечь предыдущие 2 даты из текущей даты следующим образом:

  date_d.step(2, step=-2){|d|
    puts d        
  }

, где 2 - это предел, а step - это числошаги назад или вперед.

Я сделал это в соответствии с приведенной здесь документацией: Date.step ()

Этот фрагмент кода переходит в бесконечный цикл, а затемвыводит дату без остановок (в обратном направлении)

Похоже, не хватает документации для этого метода, и я также не нахожу решения онлайн.

Пожалуйста, помогите мне с этим.

1 Ответ

6 голосов
/ 31 августа 2010

параметр limit - это дата, когда цикл останавливается, а не количество дней или итераций.так, например,

date_d = Date.parse( '2010-08-01' )
date_d.step(date_d - 4 , step=-2){|d|
   puts d        
}

выведет

2010-08-01
2010-07-30
2010-07-28
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...