Ruby:文件路径使用$:。unshift(File.join('DIR1','DIR2'))

时间:2012-03-04 22:37:30

标签: ruby path

我试图弄清楚这些方法到底在做什么。

$:.unshift(File.join(APP_ROOT, 'lib'))

我知道它的文件路径,但是如果将这段代码分解成段,你会如何描述每一段?

到目前为止,我支持File.join部分,它接受两个参数(APP_ROOT变量和'lib'目录。)然后它取消了什么?

提前致谢。

1 个答案:

答案 0 :(得分:3)

$:是加载路径数组的Ruby简写,即一个数组,当被要求提供外部文件时,Ruby用来查找外部文件的路径(尝试在IRB中运行)。

在Ruby中,.unshift是一种采用给定路径的方法(在这种情况下,无论File.join(APP_ROOT, 'lib')解析为什么),并将其预先添加到加载路径数组的开头。

这样,Ruby会在下次在应用程序的其他位置执行require 'myfile'行时知道检查APP_ROOT / lib路径。