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