0

我有一个文件夹,其中包含一堆文件夹,所有文件夹的命名约定为mmddyyyy(例如0410201304092013等)。我有一个包含所有这些路径的文本文件,并且已经在 Ruby 中成功编写了一个删除路径的数组,所以我们只剩下日期(但我相信它被存储为一个字符串)。

我现在需要做的是获取数组中的日期并向它们添加天数。天数将是静态的,并且需要对数组中的所有内容全面应用相同的值。在第 8 行,我得到一个无效的日期 ( ArgumentError)。最终结果需要是一个数组,数组中的每个项目都有 +7 天。现在我什至无法将值转换为日期格式。

require 'date'
myarray = IO.readlines "/path/to/myfile.txt"
myarray.each do |s|
  s.gsub!('/path/to/my/dated/folders/', '')
end
print myarray 

myarray.map! {Date.strptime("%m%d%Y")}
# myarray.map! {+(7)}
print myarray
4

2 回答 2

1

尝试:

myarray.map!{|s| Date.strptime(s, '%m%d%Y') + 7}
于 2013-04-08T20:47:00.530 回答
0

你很亲近!您需要将数组值传递给日期构造函数。

myarray.map!{|date| Date::strptime(date, "%m%d%Y") + 7}
于 2013-04-08T20:47:07.390 回答