关于File.expand_path

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是当前空间


2. ('../app', __FILE__)  是文件当前路径,  ('app') 脚本当前运行路径


__FILE__ 是当前目录, 但expand_path本来默认第二个参数也是当前目录, 这个叫人烦恼。

你可能感兴趣的:(ruby)