2014-01-18 23 views
14

我知道你可以使用wday返回星期的一天,一個整數值:的Ruby/Rails - 整型轉換爲日

Date.new(2001,2,3).wday   #=> 6 (a.k.a. "Saturday") 

但是,有沒有辦法做到這一點相反的方式方法, 相反?

像:

day_of_week(6)      #=> "Saturday" 

或者這是我會在我自己的轉換?

謝謝。

回答

37

Date::DAYNAMES陣列有一個信息:

Date::DAYNAMES[6] 
# => "Saturday" 
2

我會用一個proclambda,因爲我不想重複鍵入此Date::DAYNAMES[d]

day = Proc.new { |d| Date::DAYNAMES[d] } 
day.call(6) 
# => "Saturday" 

或者更簡潔的lambda

day = ->num { Date::DAYNAMES[num] } 
day.(6) 
# => "Saturday" 

只要記住:require 'Date'

+3

如果鍵入真正困擾你那麼多,'天=日期:: DAYNAMES' - 作爲訪問''[6]' - 是一個更直接的解決方案。 – jsdalton

+0

@jsdalton是的另一種方式o打電話給Proc,謝謝+1;) – fyz