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

时间:2010-08-31 06:58:42

标签: ruby-on-rails ruby date

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

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

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

我已根据此处提供的文档完成此操作:Date.step()

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

这种方法似乎没有足够的文档,我也没有在线查找解决方案。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:6)

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