在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"
要区分模块变量和实例变量,我们可以观察它们的定义方式和使用方式。模块变量以$
开头,可以在模块作用域内直接访问。实例变量以@
开头,需要在类的实例方法中通过实例对象访问。
总结一下:
$
开头,定义在模块作用域内,可以在模块作用域内直接访问。@
开头,定义在类的实例方法中,需要通过实例对象访问。