温馨提示×

Ruby类变量如何定义使用

小樊
84
2024-11-02 09:38:21
栏目: 编程语言

在Ruby中,类变量是在类定义中声明的变量,它们属于类本身而不是类的实例。类变量的命名通常以@@为前缀。这里是如何定义和使用类变量的示例:

class MyClass
  # 定义类变量
  @@class_variable = "I am a class variable"

  def initialize
    # 在实例方法中访问类变量
    puts @@class_variable
  end
end

# 创建类的实例
instance1 = MyClass.new
instance2 = MyClass.new

# 通过实例访问类变量
puts instance1.instance_variable_get(:@class_variable) # 输出 "I am a class variable"
puts instance2.instance_variable_get(:@class_variable) # 输出 "I am a class variable"

需要注意的是,类变量在所有类的实例之间共享。在上面的示例中,当我们访问instance1instance2的类变量时,它们都返回相同的值。

如果你想要定义一个实例变量,可以使用@前缀,如下所示:

class MyClass
  def initialize
    # 定义实例变量
    @instance_variable = "I am an instance variable"
  end
end

instance = MyClass.new
puts instance.instance_variable_get(:@instance_variable) # 输出 "I am an instance variable"

实例变量仅在类的实例之间共享,每个实例都有自己的实例变量副本。

0