【发布时间】:2012-03-04 22:37:30
【问题描述】:
我试图弄清楚这些方法到底在做什么。
$:.unshift(File.join(APP_ROOT, 'lib'))
我知道它的文件路径,但是如果这段代码被分解成段,你会如何描述每一段?
到目前为止,我理解了 File.join 部分,它接受两个参数(APP_ROOT 变量和“lib”目录。)然后它会取消移位?
提前致谢。
【问题讨论】:
我试图弄清楚这些方法到底在做什么。
$:.unshift(File.join(APP_ROOT, 'lib'))
我知道它的文件路径,但是如果这段代码被分解成段,你会如何描述每一段?
到目前为止,我理解了 File.join 部分,它接受两个参数(APP_ROOT 变量和“lib”目录。)然后它会取消移位?
提前致谢。
【问题讨论】:
$: 是加载路径数组的 Ruby 简写,即一个数组,其中包含 Ruby 在需要时用来查找外部文件的路径(尝试在 IRB 中运行它)。
在 Ruby 中,.unshift 是一种采用给定路径的方法(在这种情况下,无论 File.join(APP_ROOT, 'lib') 解析为什么),并将其添加到加载路径数组的开头。
这样,当您下次在应用程序的其他地方执行require 'myfile' 行时,Ruby 会知道检查 APP_ROOT/lib 路径。
【讨论】: