将整数0-6映射到工作日名称

Num*_*ers 4 ruby-on-rails ruby-on-rails-4

我有一个具有两个属性的类,可以使用数值保存工作日.我本来希望能够使用Enum,但很显然你不能使用 Enum的两个属性使用相同的值.

我怎样才能将属性的整数值表示为相应的工作日?

0 => "monday"
4 => "friday"
Run Code Online (Sandbox Code Playgroud)

小智 9

Date::DAYNAMES[(i + 1) % 7]
Run Code Online (Sandbox Code Playgroud)

i你的整数在哪里

2.0.0-p247 :001 > Date::DAYNAMES[(0 + 1) % 7]
 => "Monday" 
2.0.0-p247 :002 > Date::DAYNAMES[(4 + 1) % 7]
 => "Friday" 
2.0.0-p247 :003 > Date::DAYNAMES[(6 + 1) % 7]
 => "Sunday" 
Run Code Online (Sandbox Code Playgroud)

你不能直接查看索引,因为DAYNAMES0是星期日,你希望0是星期一.