Ruby 模块的使用与技巧
模块嵌套与访问
在 Ruby 中,如果对模块进行嵌套,要访问内部的内容就需要更深入的操作。例如,将 Font 类嵌套在两层模块中,你要么包含 WordProcessor::Rendering 模块,要么一口气写出 WordProcessor::Rendering::Font 。
实用方法的归属
模块不仅可以包含类、常量和其他模块,还能封装单个方法。对于那些看似无处安放的麻烦方法来说,模块是很好的归宿。
比如,印刷行业传统上使用一种名为“点”的长度单位,72 点等于 1 英寸。在文档代码中可能需要几个单位转换方法来处理“点”,可以将这些方法放在 WordProcessor 模块中:
module WordProcessor
def self.points_to_inches( points )
points / 72.0
end
def self.inches_to_points( inches )
inches * 72.0
end
# Rest of the module omitted
end
这里将两个转换方法定义为模块级方法,类似于类级方法,这样可以直接从模块调用它们:
an_inch_full_of_points = WordProcessor.inches_to_point
超级会员免费看
订阅专栏 解锁全文
761

被折叠的 条评论
为什么被折叠?



