Ruby变量澄清

时间:2010-03-01 15:56:32

标签: ruby

我看到Ruby有以下变量: - 全局变量(由$ variable_name表示) - 类变量(由@@ variable_name表示) - 实例变量(由@variable_name表示)和 - 局部变量(由variable_name或_variable_name表示)

有时我会在rails源代码中看到以下内容:

类SomeClass   @var 端

这里究竟是@var代表什么,你叫它什么,元类变量? 还有使用这种变量的优势吗?

1 个答案:

答案 0 :(得分:1)

它是类实例变量之一。在Ruby中,一切都是一个对象,甚至是类,所以类可以有实例变量就不足为奇了。

class A
  @@class_var = 1
  @instance_var = 1
end
A.class_variables
#=> ["@@class_var"]
A.instance_variables
#=>["@instance_var"]

More Info