-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
  • 160,959
  • 41
  • 265
  • 366
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 A. Gasanov
  • 14,592
  • 8
  • 57
  • 72