数组中的Ruby日期比较

时间:2014-03-03 20:58:20

标签: ruby-on-rails ruby arrays

我有一个ruby数组end_dates,可能看起来像......

end_dates =  [Sat, 14 Dec 2013, Sat, 14 Dec 2013, Sat, 14 Dec 2013, Fri, 13 Dec 2013, Sat, 14 Dec 2013, Sat, 14 Dec 2013, Sat, 14 Dec 2013]

...我需要一个条件语句告诉我天气的给定日期大于数组中的任何日期。所以它可能看起来像......

my_date = 2013年12月12日星期四

将my_date与数组中的所有日期进行比较,如果任何日期小于my_date,则返回true

if my_date > end_dates
  do stuff
end

2 个答案:

答案 0 :(得分:2)

效率不如使用any?,但更简单:

if my_date > end_dates.min
  ...
end

如果你将min值保持在某个地方,并重复使用它:

min = end_dates.min
...
if my_date > min
  ...
end

然后效率不高。

答案 1 :(得分:1)

if end_dates.any? { |end_date| end_date < my_date } # do stuff end