$:。unshift(File.expand_path(“../../ lib”,__ FILE__))到底是做什么用的?

时间:2013-09-07 18:38:50

标签: ruby-on-rails ruby rake rake-task rakefile

这里有很多关于此事的线索我已经知道了,但没有一个标题像我一样有这个措辞。我希望我们可以稍微澄清一下。

$:.unshift(File.expand_path("../../lib", __FILE__)) 

你在很多Ruby代码中看到类似的东西。 无论这是否合适,意见都会有所不同。

我们可以对每个部分进行一些解释吗?真的很重要。我只了解其中一些。

1 个答案:

答案 0 :(得分:12)

$:通过load或require保存脚本和二进制模块的加载路径。。并且Array#unshift会在$:之前添加新路径。 File#expand_path 将路径名转换为绝对路径名。 __FILE__ 已在此处What does __FILE__ mean in Ruby?得到解答。