Попробуйте obj.kind_of?(Klassname)
:
1.kind_of?(Fixnum) => true
1.kind_of?(Numeric) => true
....
1.kind_of?(Kernel) => true
Метод kind_of?
также имеет идентичную альтернативу is_a?
.
Если вы хотите проверить только, является ли объект (прямым)экземпляр класса, используйте obj.instance_of?
:
1.instance_of?(Fixnum) => true
1.instance_of?(Numeric) => false
....
1.instance_of?(Kernel) => false
Вы также можете получить список всех предков объекта, вызвав метод ancestors
для его class
.Например, 1.class.ancestors
дает вам [Fixnum, Integer, Precision, Numeric, Comparable, Object, PP::ObjectMixin, Kernel]
.