ruby - 从外部访问类的实例变量

标签 ruby variables instance-variables class-variables

我理解(我认为)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/

相关文章:

C++:通过引用传递或使用私有(private)实例变量

java - 在 Java 中声明 "static"变量时 "global"到底是什么意思?

python tkinter在函数之间传递变量

ruby - block 内的 def 函数能完成什么任务?

ruby - 如何使用 ruby​​ Gserver 构建基于 Web 的聊天系统

java - 在循环中使用数组名称作为变量 (Java)

c++ - 模板参数作为变量

ruby-on-rails - Bower 在 Angular on Rails 应用程序中找不到包

ruby-on-rails - ImageMagick-6.8.6-8 Paperclip::错误::NotIdentifiedByImageMagickError

c - C 中的外部变量及其作用域