RubyのバージョンごとにObject
、Class
、Array
のancestors
を確認してみる。
1.8.7
$ ruby -e "p Class.ancestors"
# => [Class, Module, Object, Kernel]
$ ruby -e "p Object.ancestors"
# => [Object, Kernel]
$ ruby -e "p Array.ancestors"
# => [Array, Enumerable, Object, Kernel]
1.9.2
$ ruby -e "p Class.ancestors"
# => [Class, Module, Object, Kernel, BasicObject]
$ ruby -e "p Object.ancestors"
# => [Object, Kernel, BasicObject]
$ ruby -e "p Array.ancestors"
# => [Array, Enumerable, Object, Kernel, BasicObject]
1.9.3
$ ruby -e "p Class.ancestors"
# => [Class, Module, Object, Kernel, BasicObject]
$ ruby -e "p Object.ancestors"
# => [Object, Kernel, BasicObject]
$ ruby -e "p Array.ancestors"
# => [Array, Enumerable, Object, Kernel, BasicObject]
2.0.0
$ ruby -e "p Class.ancestors"
# => [Class, Module, Object, Kernel, BasicObject]
$ ruby -e "p Object.ancestors"
# => [Object, Kernel, BasicObject]
$ ruby -e "p Array.ancestors"
# => [Array, Enumerable, Object, Kernel, BasicObject]
1.9.2のときにBasicObject
が追加されて以降は変更はないようだ。