title: ruby object model + class creation based on another class
body: <p>my question may be very basic n foolish but i m confused why the output is this way.</p>
  
  <pre><code>MyClass = Class.new String
  MyClass.ancestors
  =&gt; [MyClass, String, ..]
  
  AnotherClass = Class.new MyClass
  =&gt; AnotherClass 
  AnotherClass.ancestors
  =&gt; [AnotherClass, MyClass, String, ..]
  </code></pre>
  
  <p>in the above code, i m creating a new instance of Class named MyClass and have passed the object(everything in ruby is an object) 'String' as the parameter. Why does 'String' occur in the ancestors list for MyClass. I haven't inherited MyClass from String but that's what ruby seems to be doing. It does work as copy constructor but why the inheritance? </p>