Ruby/Rails - конвертировать целое число в день недели

Я знаю, что вы можете использовать wday, чтобы вернуть день недели в виде целочисленного значения:

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

Но есть ли способ сделать это наоборот, наоборот?

Как

 day_of_week(6)                        #=> "Saturday"

Или это то, что я хотел бы преобразовать самостоятельно?

Спасибо.

Ответы

Ответ 1

В массиве Date::DAYNAMES есть такая информация:

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

Ответ 2

Я бы использовал proc или lambda, потому что не хотел бы набирать этот 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'