我是否为这种作业创建了额外的方法? @@variable = @global_variable
为什么?我希望有一些变量可以通过我的脚本访问所有值和定义,并且只有一个定义位置。
@global_variable = 'test'
class Test
@@variable = @global_variable
def self.display
puts @@variable
end
end
Test.display #gives nil
最佳答案
在 Ruby 中,全局变量的前缀是 $
,而不是 @
。
$global = 123
class Foo
@@var = $global
def self.display
puts @@var
end
end
Foo.display
正确输出 123。
您所做的是将实例变量分配给 Module 或 Object 类(不确定是哪个);该实例变量不在您定义的类的范围内。
关于ruby - 我可以使用全局变量初始化类变量吗? ( ruby ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2349429/