ruby - ruby 对象如何成为对象的子类?
问题描述
2.3.3 :001 > Object.class #=> Class
2.3.3 :002 > Class.ancestors #=> [Class, Module, Object, Kernel, BasicObject]
我只是无法理解这个概念。
我想象的是如下所示
class Object < Class
...
end
class Class < Module
...
end
class Module < Object
...
end
这可能看起来很愚蠢,我错过了什么吗?我似乎找不到任何相关的答案。
解决方案
Object
Class
显然,class 不是 的子类。实际上,Object
是其他类的子类BasicObject
和默认超类:
Object.superclass
# => BasicObject
class A
end
A.superclass
# => Object
我猜你把对象的class
(表示给定对象是什么类,Object
是一个类,所以这个方法正确地表示)与继承混淆了。
推荐阅读
- c# - 兑换和它的 RDOAppointmentItem,约会的开始和结束时间,导致 Outlook Mobile App 中的不同日期
- ios - 如何从我的 Xamarin 表单 iOS 应用程序打开另一个应用程序并获得响应。?
- c - 有什么方法可以通过c中的memcached存储类对象吗?
- java - ScheduledExecutorService 如何处理终止的线程?
- angular - 模板解析错误:'ion-col' 不是已知元素:
- tfs - 如何从 AzureDevops 中的 TestPlan 运行自动化测试用例
- python-3.x - 在 Gensim 中找不到 Word2Vec 单词,但出现在 TensorFlow 嵌入投影仪上?
- node.js - 如何修复'错误:TypeError:保存用户时无法读取未定义'的属性'catch'
- google-apps-script - 为什么 onFormSubmit 有时会在用户提交测验后触发两次?
- mysql - Plesk 服务器关闭,MySQL 已删除