1. 经常看到这样的引用 require ::File.expand_path('../app', __FILE__)
引用模型里的方法通常用::
但这里以::开头又是什么?
在irb打进去 :: 却没什么提示输出 。。。
2.
require ::File.expand_path('../app', __FILE__)
和
require ::File.expand_path('app')
结果一样, 为什么大部分代码都写成第一种情况。
而且还发现require File.expand_path('app') 结果同上
Answer :
================================
1. ::File 是引用顶级命名空间, File是当前空间
引用模型里的方法通常用::
但这里以::开头又是什么?
在irb打进去 :: 却没什么提示输出 。。。
2.
require ::File.expand_path('../app', __FILE__)
和
require ::File.expand_path('app')
结果一样, 为什么大部分代码都写成第一种情况。
而且还发现require File.expand_path('app') 结果同上
Answer :
================================
1. ::File 是引用顶级命名空间, File是当前空间
2. ('../app', __FILE__) 是文件当前路径, ('app') 脚本当前运行路径
__FILE__ 是当前目录, 但expand_path本来默认第二个参数也是当前目录,
这个叫人烦恼。
本文探讨了Ruby语言中使用::File进行路径扩展的方法及其意义。解释了::File的作用及与File的区别,并对比了不同路径指定方式的效果。

515

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



