我在ruby中有一个名为MyClass的类。 当我在irb中检查它
>class MyClass
>end
> MyClass.class.superclass
我得到了
=> Module
我需要知道此输出的技术说明
答案 0 :(得分:3)
首先,让我们看一下这段代码:
MyClass.class #=> Class
时髦。所以一个类实际上是名为Class
的类的实例。这两行的含义非常相似:
class MyClass; end
MyClass = Class.new
这些也是相似的。
class MyClass; end;
myInstance = MyClass.new
myInstance = Class.new.new # I know this looks funky, but it works
现在我们开始:
MyClass.class.superclass #=> Module
因此名为Class
的类继承自Module
。这是有道理的,因为Class
表现得像Module
,除了你可以实例化它,并且它不能被包含。
查看Class
和Module
的文档,了解更多信息以及这两个类的工作原理。
意识到红宝石一直都是乌龟,并且#34;很重要而一个类对象是类Class
的一个实例,它是最好的例子之一,如果你可以了解它:)