From: Robert Klemme Date: 2012-12-15T02:05:49+09:00 Subject: Re: Ruby class hierarchy confusion On Fri, Dec 14, 2012 at 4:54 PM, Joz Private wrote: > I'm somewhat confused about the Ruby object hierarchy. > > Every class that I define is an instance of the class Class, and Class > has the hierarchy Class < Module < Object < BasicObject. > > If I define a class A, then A has the hierarchy A < Object < > BasicObject. > > But if A is an instance of the class Class, should the superclass of A > not be Module, like in the first hierarchy above? A's class is Class, so > it would make sense to me that it should follow the top one!! No. A is a class and as such has a hierarchy. But since everything in Ruby is an object, even classes are. An object is always an instance of a class. In this case A is an instance of Class. And Class has its own hierarchy. So you have A < Object < BasicObject L -instanceOf- Class < Module < Object < BasicObject Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/