kind_of?
and is_a?
are
synonymous. instance_of?
is
different from the other two in that it only returns true
if
the object is an instance of that exact class, not a subclass.
Example: "hello".is_a?
Object
and "hello".kind_of?
Object
return true
because "hello"
is
a String
and String
is
a subclass of Object
.
However "hello".instance_of?
Object
returns false
.
转自:https://stackoverflow.com/questions/3893278/ruby-kind-of-vs-instance-of-vs-is-a