rubyでクラスの型を確認
継承元を含めているかどうかを確認します。
class Hoge end class Foo < Hoge end hoge = Hoge.new foo = Foo.new
===演算子
p Hoge === hoge → true p Foo === foo → true p Hoge === foo → true
is_a?
p hoge.is_a?(Hoge) → true p foo.is_a?(Foo) → true p foo.is_a?(Hoge) → true
instance_of?
p hoge.instance_of?(Hoge) → true p foo.instance_of?(Foo) → true p foo.instance_of?(Hoge) → false
instance_of?はインスタンスの確認なんで、結果が異なるんですね。
当たり前か。
以上です。
他に調べる方法があれば教えてください!