In Ruby(1.8.X)为什么Object既包含内核又在Ruby中继承它?
为什么Object既继承Kernel又包含它?不仅继承就够了吗?
irb(main):006:0> Object.ancestors => [Object, Kernel] irb(main):005:0> Object.included_modules => [Kernel] irb(main):011:0> Object.superclass => nil
注意,在Ruby 1.9的情况也类似(但有点清洁剂):
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 => []
底线,祖先和超类不会混淆 – 2009-09-08 00:59:02