From: Chris Shea Date: 2008-08-11T13:12:44+09:00 Subject: Re: Basic question about Ruby's class hierarchy On Aug 10, 9:22 pm, Patrick Li wrote: > Hi, > I thought I understood this, but apparently not. > > What is this object exactly? > o = class << String; self; end > > From my understanding: > p o > and > p String > should output the same thing. > > but it doesn't > p o # > p String #String > > Thanks for answering such a basic question for me. >   -Patrick > -- > Posted viahttp://www.ruby-forum.com/. In your example, String is an instance of Class, and o is the eigenclass (or metaclass) of String. Maybe this will help clarify: o = class << String; self; end o.class_eval do def backwards 'gnirtS' end end String.backwards # => "gnirtS" HTH, Chris