Ruby-Proper用于Date.step()方法

dkr*_*ris 5 ruby ruby-on-rails date

我一直在尝试使用Date对象上的step()方法从当前日期检索前两个日期,如下所示:

  date_d.step(2, step=-2){|d|
    puts d        
  }
Run Code Online (Sandbox Code Playgroud)

其中2是限制,步骤是向后或向前的步数.

我按照这里给出的文档完成了这个:Date.step()

此代码段进入无限循环,然后不停地输出日期(向后)

似乎没有足够的文档用于此方法,我也没有在线查找解决方案.

这个你能帮我吗.

Nik*_*ohl 6

limit参数是循环停止的日期,而不是天数或迭代次数.所以例如

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

将输出

2010-08-01
2010-07-30
2010-07-28
Run Code Online (Sandbox Code Playgroud)