【发布时间】:2010-10-19 15:04:08
【问题描述】:
我刚刚结束looking at this question。我的第一个想法是 ruby 必须有某种“as”类型的关键字,如 Python 的 import 来帮助避免命名空间污染。我用谷歌搜索了一下,但似乎建议 wrap your code in modules 避免 ruby 的命名空间问题。这似乎有问题,因为如果两个模块的名称冲突怎么办。
那么,对于 ruby 的要求,任何“as”类型的关键字?
【问题讨论】:
-
选择不同的模块名称?
-
@Telemachus:在使用多个第三部分库时,这不是您的选择。
-
@Paulo 是的,明白了。不过,让我把问题转过来。这是一个紧迫的非理论问题吗?是否有常见的重要库使用完全相同的模块和类名并相互踩踏?可能是这样,但我没有遇到过。
-
@Telemachus:我不时遇到这个问题,有时命名空间冲突很难调试。可能对您来说这不是一个实际问题,因为您非常幸运或使用小型代码库。
-
哪些模块有命名空间冲突?让其他人知道会很好,这样我们就可以避免它们,或者游说开发人员调整他们的模块名称以回避问题。