温馨提示×

Ruby模块定义怎样区分模块变量

小樊
81
2024-11-06 07:18:40
栏目: 编程语言

在Ruby中,模块(Module)是一种代码复用的方式。模块可以包含方法、类、变量等。模块变量是在模块作用域内定义的变量,它们以$开头。要区分模块变量和实例变量,我们需要了解它们的定义和使用方式。

模块变量的定义和使用:

module MyModule
  $module_variable = "I am a module variable"
end

puts MyModule::$module_variable # 输出 "I am a module variable"

实例变量的定义和使用:

class MyClass
  def initialize
    @instance_variable = "I am an instance variable"
  end
end

my_instance = MyClass.new
puts my_instance.instance_variable # 输出 "I am an instance variable"

要区分模块变量和实例变量,我们可以观察它们的定义方式和使用方式。模块变量以$开头,可以在模块作用域内直接访问。实例变量以@开头,需要在类的实例方法中通过实例对象访问。

总结一下:

  1. 模块变量以$开头,定义在模块作用域内,可以在模块作用域内直接访问。
  2. 实例变量以@开头,定义在类的实例方法中,需要通过实例对象访问。

0