-3

I get the result:

String.class         # => Class 
String.superclass    # => Object 
Class.class          # => Class 
Class.superclass     # => Module 

Both String and Class are objects of Class. Why is String's superclass Object while Class's superclass is Module?

sawa
  • 165,429
  • 45
  • 277
  • 381
Curdery
  • 1
  • 1

1 Answers1

0

You formulate question in a strange way. I have nothing to say besides "they are defined in this way".

class A
end

class B
end

class C < A
end

class D < B
end

p C.class # => Class
p C.superclass # => A
p D.class # => Class
p D.superclass # => B
Rustam Gasanov
  • 15,290
  • 8
  • 59
  • 72