我正在努力解决以下问题:
$ rails c
Loading development environment (Rails 3.2.1)
irb(main):001:0> 2.class
=> Fixnum
irb(main):002:0> Fixnum === 2
=> true
irb(main):003:0> 2.hours.class
=> Fixnum
irb(main):004:0> Fixnum === 2.hours
=> false
irb(main):005:0>
我想测试某个指定的参数是符号还是时间跨度。我认为在 Ruby/Rails 中自然的方式是:
case param
when :today then
# do this...
when Fixnum then
# do that...
else
raise ArgumentError ...
end
据我所知,ActiveSupport 的源代码===
没有被 Fixnum 覆盖。那么,我做错了什么?