在Ruby 1.9.2 Core API Reference中,它说Object的父对象是BasicObject。但后来它说BasicObject的父对象是Object。这个怎么用?这里发生了什么?Ruby继承循环
Q
Ruby继承循环
2
A
回答
2
这必须是文档中的错误。从概念上讲,BasicObject
没有父母,实际上,这是由其父母代表nil
。 (注:nil
,所述对象,不NilClass
。)
注意,上RubyDoc.Info,它被正确地示出为具有没有父。
2
你说得对,Object的父母是BasicObject,但BasicObject的父母不是Object。
Object.ancestors # => [Object, Kernel, BasicObject]
BasicObject.ancestors # => [BasicObject]
相关问题
- 1. PHP继承循环
- 2. OOP继承循环
- 3. C++循环继承和类
- 4. Javascript继承无限循环
- 5. C++继承循环依赖
- 6. 继承我的循环
- 7. 循环继承接口
- 8. 继承Ruby Gem?
- 9. Ruby和继承
- 10. Ruby Socket继承
- 11. 处理对继承的循环依赖
- 12. 继承中的循环检测
- 13. C++循环依赖和继承
- 14. IronPython中的继承和循环引用
- 15. 多级继承和foreach Java循环
- 16. 继承中的循环层次结构
- 17. Ruby静态继承
- 18. Ruby - 继承自Array
- 19. Ruby中的继承
- 20. Ruby:动态继承
- 21. Ruby可继承的类宏
- 22. Ruby中的多重继承
- 23. Ruby获得继承类
- 24. Ruby/Sinatra中的继承
- 25. Ruby gets.chomp和类继承
- 26. Ruby Datamapper表继承关联
- 27. 类继承和Ruby模块
- 28. 的Python像Ruby继承
- 29. Ruby - 继承方法Order
- 30. 继续循环
我使用ruby-lang.org的Windows 1.9.2安装程序安装了Ruby。在安装目录中有一个doc文件夹,带有一个ruby19-core.chm。这个参考是我看到我的问题的地方。 – 2011-03-10 02:19:19
我没有该版本的参考。如Jorg写道,它必须是文档中的一个错误。 – sawa 2011-03-10 05:44:59
@Adam Harte:实际上,这可能是文档*处理器*中的一个错误。正如我在我的回答中所写,使用[YARD](http://YARDoc.Org/)生成的[RubyDoc.Info](http://RubyDoc.Info/stdlib/core/BasicObject/)很好,所以故障可能在于[RDoc](http://RDoc.RubyForge.Org/)。毕竟,Object和BasicObject的继承关系实际上并没有出现在Ruby源代码中(因为至少在YARV中生成了CHM文件,它们不具有Ruby源代码,它们在C中实现),这意味着它们必须以某种方式硬编码到RDoc内部。 – 2011-03-10 06:31:02