ruby meta:Class.superclass.Class==Class

ruby meta:Class.superclass.Class==Class,ruby,oop,metaprogramming,Ruby,Oop,Metaprogramming,通过继承,类

通过继承,类 根据元类(或任何其他术语?),模块对象基本对象都是的实例

irb(main):101:0> Class.superclass
=> Module
irb(main):102:0> Class.superclass.class
=> Class
irb(main):103:0> Class.superclass.class == Class
=> true
如何理解类与类、模块、对象、基本对象之间的关系?
我读了一些关于ruby的元编程讨论,但是有没有关于这个特定问题的资源


谢谢。

这里有一个视频演讲。这是非常值得一看,可能会清除一些事情

我想这些一开始可能会让你感到困惑,但在你得到它之后,你会清楚地看到不同之处。我建议利用这些资源:

  • 戴夫·托马斯
  • 戴夫·托马斯

  • 这是一个非常有趣的问题。这是本书的一个链接,它帮助我清楚地理解了这一点:

    +1,最后一个链接是我一直推荐用来理解Ruby对象模型的链接。++对于dave thomas链接,该视频为我彻底澄清了这一切。只是看了两遍
    irb(main):109:0> Module.class
    => Class
    irb(main):172:0> Object.class
    => Class
    irb(main):173:0> BasicObject.class
    => Class
    irb(main):174:0> Class.class
    => Class