我對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