Questions tagged «eigenclass»


3
当本征类看起来如此相似时,为什么本征类不等同于self.class?
我在某处错过了备忘录,希望您能向我解释。 为什么对象的本征分类不同于self.class? class Foo def initialize(symbol) eigenclass = class << self self end eigenclass.class_eval do attr_accessor symbol end end end 我将本征类等同于的逻辑class.self很简单: class << self是一种声明类方法而不是实例方法的方法。这是的快捷方式def Foo.bar。 因此,在对类对象的引用内,返回self应与相同self.class。这是因为class << self将设置self为Foo.class用于定义类方法/属性。 我只是感到困惑吗?还是,这是Ruby元编程的一个trick俩?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.