Ruby 中如何定义模块?

· 约 3 分钟读完 · 第 85 / 199 章

推荐答案

在 Ruby 中,模块(Module)是通过 module 关键字来定义的。模块可以包含方法、常量和类变量,但不能实例化。模块的主要用途是提供命名空间和实现多重继承(通过 mixin)。

本题详细解读

模块的定义

在 Ruby 中,模块是通过 module 关键字定义的。模块的名称通常以大写字母开头,遵循常量命名规则。模块内部可以定义常量、类方法和实例方法。

模块的使用

模块可以通过 include 或 extend 关键字混入到类中。include 会将模块的实例方法添加到类的实例中,而 extend 会将模块的实例方法添加到类的单例类中,使其成为类方法。

模块的命名空间

模块还可以用作命名空间,以避免命名冲突。通过将类或方法定义在模块内部,可以有效地组织代码并避免全局命名空间的污染。

模块的常量

模块中的常量可以通过模块名直接访问。

模块的类方法

模块中的类方法可以通过模块名直接调用。

模块的实例方法

模块中的实例方法需要通过 include 混入到类中后才能使用。