Ruby 3.2 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Objectクラス > is_a?
is_a?(mod) -> bool
[permalink][rdoc]kind_of?(mod) -> bool
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
また、オブジェクトがモジュール mod をインクルードしたクラスかそのサブクラスのインスタンスである場合にも真を返します。 Module#includeだけではなく、Object#extendやModule#prependによってサブクラスのインスタンスになる場合も含みます。上記のいずれでもない場合に false を返します。
module M
end
class C < Object
include M
end
class S < C
end
obj = S.new
p obj.is_a?(S) # true
p obj.is_a?(C) # true
p obj.is_a?(Object) # true
p obj.is_a?(M) # true
p obj.is_a?(Hash) # false
[SEE_ALSO] Object#instance_of?,Module#===,Object#class