Ruby 类变量
Stewart Nguyen
2022年5月18日
全局变量、实例变量、类变量、局部变量和常量是 Ruby 支持的五种变量类型。本文将重点介绍 Ruby 中的类变量。
在 Ruby 中创建类变量
类变量以@@
开头。与其他变量一样,必须先定义类变量才能使用它们。
此示例演示使用 Ruby 2.7.2 版创建类变量。
例子:
class Foo
@@var_1 = 1
def show_class_variable
"Value of @@var_1: #{@@var_1}"
end
def increase_value
@@var_1 += 1
end
end
Foo.new.show_class_variable
输出:
"Value of @@var_1: 1"
类的所有实例共享一个类变量的值。如果一个对象修改了类变量,则该值将应用于同一类的所有对象。
参考下面的情况,它使用了 Foo
类。
例子:
foo_1 = Foo.new
foo_2 = Foo.new
foo_1.show_class_variable
=> "Value of @@var_1: 1" #Output
foo_2.show_class_variable
=> "Value of @@var_1: 1" #Output
foo_1.increase_value
foo_2.show_class_variable
=> "Value of @@var_1: 2" #Output