Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“类似Python的”;作为「;Ruby中的关键字(用于名称空间)_Python_Ruby_Module - Fatal编程技术网

“类似Python的”;作为「;Ruby中的关键字(用于名称空间)

“类似Python的”;作为「;Ruby中的关键字(用于名称空间),python,ruby,module,Python,Ruby,Module,我刚刚结束。我想到的第一个想法是ruby必须有某种“as”类型的关键字,比如Python的import,以帮助避免名称空间污染。我在谷歌上搜索了一下,但似乎建议避免ruby的名称空间问题。这似乎有问题,因为如果两个模块的名称相互冲突怎么办 所以,ruby的require是否有“as”类型的关键字?我总是用我公司的工作缩写或我自己的个人项目缩写来启动我的模块 module JWG_TwitterTools . . . end 在ruby 2.0中,将有。但是现在,没有什么是这样的。。。只需使用

我刚刚结束。我想到的第一个想法是ruby必须有某种“as”类型的关键字,比如Python的import,以帮助避免名称空间污染。我在谷歌上搜索了一下,但似乎建议避免ruby的名称空间问题。这似乎有问题,因为如果两个模块的名称相互冲突怎么办


所以,ruby的require是否有“as”类型的关键字?

我总是用我公司的工作缩写或我自己的个人项目缩写来启动我的模块

module JWG_TwitterTools
.
. 
.
end

在ruby 2.0中,将有。但是现在,没有什么是这样的。。。只需使用完整的常量路径。

选择不同的模块名称?@Telemachus:当使用几个第三部分库时,这不是您的选择。@Paulo Yup,明白了。不过,让我把问题转过来。这是一个燃烧的、非理论的问题吗?是否存在使用完全相同的模块和类名并相互践踏的常见重要库?可能是这样,但我没有遇到过。@Telemachus:我经常遇到这种情况,有时名称空间冲突很难调试。可能这对您来说不是一个实际问题,因为您非常幸运或者使用小的代码基。哪些模块有名称空间冲突?让其他人知道这一点会很好,这样我们就可以避开它们,或者游说开发人员调整他们的模块名称以避开这个问题。这里没有太多细节,但仍然很有趣。谢谢你的链接。不过,我不确定我是否知道你所说的“使用恒定路径”是什么意思。正如@Paulo在上面指出的,这只在源代码是你的情况下才有效。这一点非常好。我的观点是,通过将自己的前缀应用于库和gem,可以避免与自己的名称空间发生冲突,也可以避免其他人在使用代码时发生冲突。这是一种“最佳实践”,可以让你省去各种痛苦,如果每个人都这样做,那么冲突的可能性就会降到最低。