在initialize中确定引用新实例的变量的名称

时间:2014-01-06 00:49:49

标签: ruby class instance-variables

每当创建一个实例时,我都可以让一个类宣布它的名字:

class Klass
    def initialize
        puts "#{self.class} instance created"
    end
end

instance = Klass.new #=> Klass intance created

如何从类初始化程序中公布实例名称?类似的东西:

class Klass
    def initialize
        puts "#{self.class} instance #{self.instance} created"
    end
end

jacksaw = Klass.new #=> Klass instance "jacksaw" created

1 个答案:

答案 0 :(得分:4)

这是不可能的。首先,将创建Klass.new。然后,将为其分配局部变量jacksaw。在创建实例时,它无法分辨将分配给哪个局部变量。