Ruby/Rails - 将整数转换为星期几

Dod*_*nas 17 ruby ruby-on-rails date

我知道你可以用wday作为整数值返回星期几:

 Date.new(2001,2,3).wday           #=> 6 (a.k.a. "Saturday")
Run Code Online (Sandbox Code Playgroud)

但是,有没有一种方法以相反的方式做到这一点,相反?

喜欢:

 day_of_week(6)                        #=> "Saturday"
Run Code Online (Sandbox Code Playgroud)

或者这是我自己转换的东西?

谢谢.

tle*_*man 47

Date::DAYNAMES数组具有以下信息:

Date::DAYNAMES[6]
# => "Saturday"
Run Code Online (Sandbox Code Playgroud)


fab*_*bbb 5

我会使用procorlambda因为我不想Date::DAYNAMES[d]重复输入它。

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

或者更简洁lambda

day = ->num { Date::DAYNAMES[num] }
day.(6)
# => "Saturday"
Run Code Online (Sandbox Code Playgroud)

只需记住:require 'Date'

  • 如果输入确实让您烦恼,“days = Date::DAYNAMES”——可通过“days[6]”访问——是一个更直接的解决方案。 (7认同)