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