模块的“实例方法”

但是如何访问实例方法,greet? 由于模块定义了一个封闭的命名空间,模块外的任何代码都无法“看到” greet 方法,所以这不起作用:

  1. puts( greet )

如果这是一个类而不是一个模块,我们当然可以使用 new 方法从类创建对象 - 每个单独的对象,类的每个’实例’ - 都可以访问实例方法。但是你无法创建模块的实例。那么我们如何使用它们的实例方法呢?这是引入 mixins 的时候了…