【发布时间】:2015-06-09 20:16:28
【问题描述】:
据我了解,Ruby 中的一切都是对象,每个对象都有一个超类,除了BasicObject,它位于继承树的顶部。
def、begin 和 alias 等关键字的超类是什么?
【问题讨论】:
-
据我所知,每个类都有一个超类。澄清一下,没有关键字具有超类。但是每个类都有超类 Object。
-
那些关键字只是 ruby 语言标识符,它们不属于也不属于类。当谈到“一切都是对象”的概念时,它是指在 ruby 中如何处理数据的上下文中,换句话说,没有像 Java 或其他语言那样的原始值。
-
关键字解析发生在...好吧,解析器。它们是语言语法工件,不是用 Ruby 编写的(无论如何是用于 MRI)。
-
@Emz 只是为了澄清起见,从 1.9 开始,最高级别的课程实际上是
BasicObject。Object.superclass #=> BasicObject和BasicObject.superclass #=> nil
标签: ruby class inheritance keyword superclass