Вы уверены, что ваш n
действительно Fixnum
?
>> n = 5 #=> 5
>> case n
.. when Numeric
.. "Numeric"
.. else
.. "Not numeric"
.. end #=> "Numeric"
Просто спрашивая, потому что вы также упомянули, что Numeric === n
вернул false, что не должно быть:
>> n = 5 #=> 5
>> Numeric === n #=> true
Можете ли вы опубликовать несколько больший фрагмент кода или что-то в этом роде (я знаю, вы сказали, что n.class
- это Fixnum
, но код определенно не ведет себя так).