Rad*_*dek 1 ruby scope class-design class-variables
我是否为这种作业创建了额外的方法?@@variable = @global_variable为什么?我希望有一些变量可以通过我的脚本访问值和定义,并且只有一个定义位置.
@global_variable = 'test'
class Test
@@variable = @global_variable
def self.display
puts @@variable
end
end
Test.display #gives nil
Run Code Online (Sandbox Code Playgroud)
在Ruby中,全局变量以a为前缀$,而不是a @.
$global = 123
class Foo
@@var = $global
def self.display
puts @@var
end
end
Foo.display
Run Code Online (Sandbox Code Playgroud)
正确输出123.
你所做的是将一个实例变量分配给Module或Object类(不确定是哪个); 该实例变量不在您定义的类的范围内.
| 归档时间: |
|
| 查看次数: |
421 次 |
| 最近记录: |