在Ruby中,模块(Module)是一种代码复用的机制
- 定义模块:
要定义一个模块,可以使用module
关键字,后跟模块名称。例如:
module MyModule def my_method puts "Hello from MyModule!" end end
- 包含模块:
要使用模块中的方法,需要将模块包含在类或对象中。可以使用include
关键字来实现。例如:
class MyClass include MyModule end
现在,MyClass
实例可以调用my_method
方法了:
my_instance = MyClass.new my_instance.my_method # 输出 "Hello from MyModule!"
- 扩展模块:
如果你想在运行时动态地扩展一个类的功能,可以使用extend
关键字。例如:
class MyClass end MyClass.extend MyModule my_instance = MyClass.new my_instance.my_method # 输出 "Hello from MyModule!"
- 使用模块作为命名空间:
模块还可以用作命名空间,以避免方法名冲突。例如:
module MyNamespace class MyClass def my_method puts "Hello from MyNamespace::MyClass!" end end end my_instance = MyNamespace::MyClass.new my_instance.my_method # 输出 "Hello from MyNamespace::MyClass!"
这些是Ruby模块的基本使用方法。希望对你有所帮助!