From: John Feminella Date: 2011-07-18T23:51:39+09:00 Subject: Re: What is BasicObject (really)? 1.) Which results seem inconsistent to you? 2.) What code did you write to produce those results? ~ jf -- John Feminella Principal Consultant, BitsBuilder LI: http://www.linkedin.com/in/johnxf SO: http://stackoverflow.com/users/75170/ On Mon, Jul 18, 2011 at 10:46, Jim Maher wrote: > In a recent thread titled "Unexpected results from private_methods", I > questioned the methods available for a BasicObject.  That led to an > interesting comment about BasicObject's place in the object model. > > The comment (paraphrased) was: > >>  BasicObject is a class, an instance of Class. >>  Class inherits from Object. >> >>  Almost everything in ruby is an object--including >>  classes.  All objects inherit from Object. >> >>  Things are very "circular" at the top of the ruby object model. >>  BasicObject is an object, it inherits from Object.  Object, >>  in turn, inherits from BasicObject, which means >>  BasicObject inherits from itself! > > I get the conceptual drift, but I wonder about the practical > implications.  So I ran a bit of code to try to understand better, and > just confused myself more.  Specifically, I ran code to determine > BasicObject's class, superclass and ancestors, and whether BasicObject > is an instance or kind of BasicObject, Object and/or Class. > > The results SEEM inconsistent to me (probably because of my limited > understanding). > >  BasicObject's class is Class >  BasicObject's superclass is >  BasicObject's ancestors are [BasicObject] >  BasicObject kind of BasicObject? true >  BasicObject instance of BasicObject? false >  BasicObject kind of Object? true >  BasicObject instance of Object? false >  BasicObject kind of Class? true >  BasicObject instance of Class? true > > Do these results seem inconsistent to anyone else? > > > j > > James D. Maher > jdmaher@jdmaher.com > > -- > Posted via http://www.ruby-forum.com/. > >