【发布时间】:2017-08-28 17:02:53
【问题描述】:
这个错误似乎不应该发生。
我有一个二维数组:
a = [["Person", "20 Mar 2017", "20 Mar 2017", "Party"],
["Person2", "02/27/2017", "02/28/2017", "BDay"]]
我正在循环使用此代码将字符串日期解析为 Date 对象的数组:
a.each do |i|
i.each do
i[1] = Date.parse(i[1]) && i[2] = Date.parse(i[2]) rescue i[1] = Date.strptime(i[1], "%m/%d/%Y") && i[2] = Date.strptime(i[2], "%m/%d/%Y")
end
end
执行代码时出现类型错误:can't convert Date into String
但是我没有将任何 Date 对象转换为字符串,并且当我在循环之外单独解析字符串时它可以工作,但在循环中它会引发此错误。
我不明白为什么会这样。
【问题讨论】:
-
您希望通过
i.each do实现什么目标? -
i.each do以我的理解为内部数组中的每个索引执行它下面的代码。 -
我现在看到
i.each do是多余的
标签: arrays ruby string loops date