我有一个名为week的数组:
[Mon, 08 Jun 2015, Tue, 09 Jun 2015, Wed, 10 Jun 2015, Thu, 11 Jun 2015, Fri, 12 Jun 2015, Sat, 13 Jun 2015, Sun, 14 Jun 2015]
我需要从数组中获取mon和fri而不使用它们的索引。 反正有吗?
答案 0 :(得分:3)
Ruby提供Date#monday?
和Date#friday
方法来确定日期是否与特定工作日相匹配。
因此,要在数组中找到星期一,假设数组由Date
个实例组成
array.find(&:monday?)
如果它由Time
个实例组成,那么</ p>
array.find { |time| time.to_date.monday? }
如果您想同时获得星期一和星期五,只需使用选择
即可# for Date
array.select { |date| date.monday? || date.friday? }
# for Time
array.select { |time| date = time.to_date && (date.monday? || date.friday?) }
答案 1 :(得分:0)
week = [Mon, 08 Jun 2015, Tue, 09 Jun 2015, Wed, 10 Jun 2015, Thu, 11 Jun 2015, Fri, 12 Jun 2015, Sat, 13 Jun 2015, Sun, 14 Jun 2015]
假设那些是Date
个对象,你可以问每个人是否是某个工作日:
week.select { |d| d.monday? || d.friday? }