In Ruby, have you ever wanted to know if an object is of a particular type?
method will return a true value if an object is of the type given as a parameter. However, instance_of?
will return a false if we use it to check whether an object inherits from
another class. So it's an exact check
on the class name.
method will return a true value if an object is a of the type given as a parameter OR if it inherits from the type given as a parameter. So in effect, you can use it to ask "is there going to be a method from a class which I can run on this object".
Some sample code:
glug.each do |current|
puts current.bright, current.sides, current.area
If the objects in the array glug
are of type "Box" and "Circle" (which they were on today's Ruby Course
), and boxes and circles inherit from Shapes, then the instance_of?
calls will all return false, and the is_a?
calls will return true. (written 2010-01-27, updated 2010-01-28)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesR108 - Ruby - More Classes and Objects 
MTBF of coffee machines - (2005-01-20) 
Think about your design even if you don't use full UML - (2006-03-24) 
What are factory and singleton classes? - (2007-06-04) 
Some Ruby programming examples from our course - (2008-03-21) 
Object Orientation in Ruby - intermediate examples - (2009-07-16) 
Ruby objects - a primer - (2010-01-29) 
Tips for writing a test program (Ruby / Python / Java) - (2010-01-29) 
Defining a static method - Java, Python and Ruby - (2010-02-01) 
Direct access to object variable (attributes) in Ruby - (2010-02-02) 
Object Oriented Ruby - new examples - (2010-02-03) 
The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11) 
What is a factory method and why use one? - Example in Ruby - (2010-09-30) 
Ruby - examples of regular expressions, inheritance and polymorphism - (2010-10-02) 
Private and Public - and things between - (2011-01-22) 
Changing a class later on - Ruby - (2011-02-02) 
Ruby training - some fresh examples for string handling applications - (2011-02-05) 
Ruby - a training example that puts many language elements together to demonstrate the whole - (2011-04-23) 
Why you should use objects even for short data manipulation programs in Ruby - (2012-06-10) 
Private, Protected, Public in Ruby. What about interfaces and abstract classes in Ruby? - (2012-06-23) 
Standard methods available on all objects in Ruby - (2012-06-23) 
Changing what operators do on objects - a comparison across different programming languages - (2014-12-26) 
Where does Ruby load modules from, and how to load from current directory - (2015-06-03) 
Build up classes into applications sharing data types in Ruby - (2015-10-23) 
Testing your new class - first steps with cucumber - (2015-10-23)
Some other Articles
Ruby on Rails - a sample application to teach you howEast of Melksham - Building Work StartsRuby - is_a? v instance_of? - what is the difference?Go Programming Language and Courses?Telling Apache web servers apart / notes for the non-technicalAn excuse for making a sales callDoes my course include breakfast, lunch, dinner and a hotel room?Http protocol - what does a web server send