En Ruby (1.8.X)¿Por qué Object incluye Kernel y lo hereda en Ruby?
¿Por qué Object hereda de Kernel e incluye? ¿No bastaría simplemente con heredar?
irb(main):006:0> Object.ancestors => [Object, Kernel] irb(main):005:0> Object.included_modules => [Kernel] irb(main):011:0> Object.superclass => nil
Nota en Ruby 1.9, la situación es similar (pero un poco más limpio):
irb(main):001:0> Object.ancestors => [Object, Kernel, BasicObject] irb(main):002:0> Object.included_modules => [Kernel] irb(main):011:0> Object.superclass => BasicObject irb(main):011:0> BasicObject.superclass => nil irb(main):011:0> BasicObject.included_modules => []
línea inferior, los antepasados y la superclase no se deben confundir –