在Ruby中,模块是一种代码复用的方式。模块方法是在模块中定义的方法,可以在模块外部通过模块名调用。要定义模块方法,请按照以下步骤操作:
- 定义一个模块,使用
module
关键字,后跟模块名。 - 在模块内部定义方法,使用
def
关键字,后跟方法名。 - (可选)为方法添加文档字符串(docstring),以便其他开发者了解方法的用途和参数。
- 使用
end
关键字结束模块定义。
下面是一个简单的示例,展示了如何定义一个名为Calculator
的模块,并在其中定义两个模块方法add
和subtract
:
# 定义名为 Calculator 的模块 module Calculator # 定义 add 方法,接受两个参数 a 和 b def add(a, b) # 返回 a 和 b 的和 a + b end # 定义 subtract 方法,接受两个参数 a 和 b def subtract(a, b) # 返回 a 和 b 的差 a - b end end
现在,您可以在模块外部通过模块名调用这些方法。例如:
# 调用 Calculator 模块中的 add 方法 result = Calculator.add(5, 3) puts "5 + 3 = #{result}" # 输出 "5 + 3 = 8" # 调用 Calculator 模块中的 subtract 方法 result = Calculator.subtract(5, 3) puts "5 - 3 = #{result}" # 输出 "5 - 3 = 2"
请注意,模块方法通常用于在模块内部提供通用的功能,以便在多个类或实例之间共享。如果您希望在类中使用这些方法,可以将它们包含在类的继承链中,或者使用include
关键字将模块包含在类中。