How do I check if a variable is an instance of a class? How do I check if a variable is an instance of a class? ruby ruby

How do I check if a variable is an instance of a class?


It's almost exactly the same. You can use Object's instance_of? method:

"a".instance_of? String # => true"a".instance_of? Object # => false

Ruby also has the is_a? and kind_of? methods (these 2 are aliases, and work exactly the same), which returns true is one of the superclasses matches:

"a".is_a? String # => true"a".is_a? Object # => true


kind_of? and is_a? are synonymous. They are Ruby's equivalent to Java's instanceof.

instance_of? is different in that it only returns true if the object is an instance of that exact class, not a subclass.


Have look at instance_of? and kind_of? methods. Here's the doc link http://ruby-doc.org/core/classes/Object.html#M000372