instance_of?とis_a?の違いを、メモ。 以下のものを用いて実験 module Foo; end module Bar; end class Hoge include Foo end class Fuga < Hoge include Bar end fuga = Fuga.new instance_of? fuga.instance_of? Fuga #=> true fuga.instance_of? Hoge #=> false fuga.instance_of? Object #=> false fuga.instance_of? Foo #=> false fuga.instance_of? Bar #=> false selfが、引数で指定されたクラスの直接のインスタンスの場合、trueを返す is_a?メソッド fuga.is_a? Fuga #=> true f