Ruby: kind_of? vs. instance_of? vs. is_a? 質問する

Ruby: kind_of? vs. instance_of? vs. is_a? 質問する

違いは何ですか? どちらをいつ使用すればよいですか? なぜこんなにたくさんあるのですか?

ベストアンサー1

kind_of?is_a?同義です。

instance_of?他の 2 つとは異なり、trueオブジェクトがサブクラスではなく、そのクラスのインスタンスである場合にのみ返されます。

例:

  • "hello".is_a? Objectは であり、は のサブクラスであるため、を"hello".kind_of? Object返します。true"hello"StringStringObject
  • ただし、"hello".instance_of? Object戻りますfalse

おすすめ記事