0

在编写 Ruby 库时,什么时候可以在一个文件中执行此操作?

module MyLib
  # some definitions
end

include MyLib

我发现通常,一个人必须

require 'some_gem'

首先,然后

include SomeGem

但是我想知道,在一些更简单的情况下,当您只想为核心添加一点功能时,是否可以默认包含主模块?

4

2 回答 2

2

require 'some_gem' / include SomeGem 组合主要在脚本中找到(与库相反)。在库中,将命名空间分开是很重要的——这是首先拥有命名空间的全部意义所在。

于 2012-09-10T05:42:50.580 回答
1

是的,这是一种不好的做法。如果你包含它,那么你就是在选择人们如何使用它。您正在为他们做出决定,他们希望将其包含在全局命名空间中。这不是你要做的决定,做一个优秀的 Ruby 公民,不要改变你的用户环境。允许他们选择他们想要如何使用代码。

于 2012-09-10T05:35:47.593 回答