我有一种方法可以输出一种时间范围,可以是以下任何一种:
["day", "week", "month"]
我如何定义一个输出类似的方法:
type = "day"
Date.today.at_beginning_of_type
type
可以是我上面提到的三种类型中的任何一种吗?
编辑虽然这是一个很小的方法,但到目前为止,这是我采用的方法:
def output_a_date
type = get_period_type
puts 'The date at the beginning of the "#{type}" ago was "#{Date.today.at_beginning_of_type}"'
end
def get_period_type
type = "day"
end
答案 0 :(得分:3)
您想使用send
方法。
您可以阅读更多相关信息here
您的代码可能如下所示:
def beginning_of(type)
Date.today.send(:"at_beginning_of_#{type}")
end