如何在其他类定义的“默认”范围内访问var,做这样的事情?
var = 1
class MyClass
def self.show
var
end
MyClass.show #=> 1
和BTW我注意到“默认”范围内的self返回main
,这是什么?
答案 0 :(得分:3)
我确信有更好的方法,但是对Ruby不熟悉,我会使用$var
代替var
。这样做使它成为全球性的。 : - )
答案 1 :(得分:0)
这是不可能的。定义为var = ...
的变量始终是局部变量。
定义全局变量由$var = ...
完成。
另一个更糟糕的方法是定义一个实例变量(@var = ...
),但这需要你以某种方式将main
实例放入你的MyClass.show
中,而这似乎不是值得的工作。