我对Ruby很新,我试图扩展Date类以添加一个函数,该函数将返回该月的第一个星期日。这是为了帮助绘制每月的日历。所以说九月从星期六开始。然后我想这个函数返回8月26日,因为这是日历需要首先绘制的日期。Ruby扩展Date类添加新方法
我有这个工作在内部评级为:
fs = Date.today - Date.today.mday + 1
fs = fs - fs.wday
所以现在我想扩展的日期类作为
class Date
def first_of_month
return Date.new(self.year, self.month, 1)
end
def first_sunday_of_first_week
return self.first_of_month - self.wday
end
end
在第一个月方法似乎很好地工作。 本月的第一个星期日没有。我认为这与Date.new失踪有关,但无论我如何尝试重做,似乎都不起作用。我正在制作Sinatra应用程序,所以我没有这样做的导轨功能。
此处的函数返回两个方法的月份的第一个,并且不返回该月的第一个星期日。
如何正确得到这个扩展方法的工作?由于
UPDATE:
class Date
def first_of_month
return Date.new(self.year, self.month, 1)
end
def first_sunday_of_first_week
first_of_month - first_of_month.wday
end
end
这似乎是工作,但它是正确的还是我迫使更多的工作比需要。这是不是创建Date.new返回一个?
'return'后的'='使得它不能编译。你究竟拥有什么? –
一切,但= =,对不起。我更新了这篇文章。 –
你的问题是什么?什么不工作? – apneadiving