我有一个填充Datetime对象的数组:
[Mon, 22 Jun 2015, Tue, 23 Jun 2015, Wed, 24 Jun 2015, Thu, 25 Jun 2015, Fri, 26 Jun 2015, Sat, 27 Jun 2015, Sun, 28 Jun 2015]
我知道如何从数组中选择我想要的东西 例如:
week.select{|x|x.monday? || x.wednesday?}
但是现在当我尝试编写一个从数组中选择日期的方法时,我似乎无法弄清楚如何将这些方法传递给select语句:
例如:
def get_days(wkn, desired_days*)
get_week = Model.week(2)
get_days_of_week = get_week.select{|x|x.desired_day[monday]?|| x.desired_day[sunday]}
end
任何想法?
desired_days将是一个用户说他们想要mon。和太阳。 所以星期一,太阳将按照期望的日期传递 该方法将获得整整一周的范围 然后我想选择所需的日子。
答案 0 :(得分:2)
我愿意:
def get_days(wkn, *desired_days)
get_week = Model.week(2)
get_days_of_week = get_week.select { |x| desired_days.include? x.strftime("%A") }
end
答案 1 :(得分:1)
假设wkn
是周数,而desired_days
是一组天名,例如'monday'或'wednesday':
def get_days(wkn, desired_days)
get_week = Model.week(wkn)
get_days_of_week = get_week.select do |x|
desired_days.any? { |day_name| x.send(day_name + '?') }
end
end