Аномальный switch в Ruby

Рейтинг: 2Ответов: 2Опубликовано: 06.03.2011

Есть следующий код:

x = 16
puts case x.class
     when Fixnum
       "fix"
     else
       "other"
     end

И результатом будет "other"

Но если написать:

x = 16
puts case x
     when Fixnum
       "fix"
     else
       "other"
     end

То ответом будет "fix". Почему так? Ведь x.class просто возвращает константу Fixnum, почему бы ему не вернуть в первом случае "fix"?

Ruby 1.9.2

Ответы

Ответов пока нет.