我看到Ruby有以下变量: - 全局变量(由$ variable_name表示) - 类变量(由@@ variable_name表示) - 实例变量(由@variable_name表示)和 - 局部变量(由variable_name或_variable_name表示)
有时我会在rails源代码中看到以下内容:
类SomeClass @var 端
这里究竟是@var代表什么,你叫它什么,元类变量? 还有使用这种变量的优势吗?
答案 0 :(得分:1)
它是类实例变量之一。在Ruby中,一切都是一个对象,甚至是类,所以类可以有实例变量就不足为奇了。
class A
@@class_var = 1
@instance_var = 1
end
A.class_variables
#=> ["@@class_var"]
A.instance_variables
#=>["@instance_var"]