我理解(我认为)Ruby 中类变量和类的实例变量之间的区别。
我想知道如何从该类外部访问该类的实例变量。
从内部(即在类方法中而不是实例方法中),它可以直接访问,但是从外部,有没有办法做 MyClass.class.[@$#]variablename
?
我没有任何具体原因要这样做,只是学习 Ruby 并想知道是否可行。
最佳答案
class MyClass
@my_class_instance_var = "foo"
class << self
attr_accessor :my_class_instance_var
end
end
puts MyClass::my_class_instance_var
上述 yield :
>> foo
我相信 Arkku 演示了如何从类外部访问类变量 (@@),而不是类 实例 变量 (@)。
我从这篇文章中提取了上述内容:Seeing Metaclasses Clearly
关于ruby - 从外部访问类的实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4202878/