在Ruby中将目录添加到加载路径的END中?

时间:2017-02-27 23:27:23

标签: ruby linux bash shell

我在将目录添加到Ruby中的加载路径时看到的大多数答案都在使用unshift,例如:

$:.unshift File.dirname(__FILE__)

您不能使用push吗?在将目录添加到加载路径时,大多数示例是否故意使用unshiftpush

1 个答案:

答案 0 :(得分:1)

您可以使用其中之一,但会按顺序检查它们。 unshift将其置于最高优先级,push为最低优先级。

通常情况下这并不重要,您通常没有重复的模块名称,但是如果您想要覆盖某些内容,则需要比其他名称更早地使用您的路径。这使unshift更令人满意。

需要注意的一点是,使用$LOAD_PATH代替$:通常会更好,因此您所做的更清晰。除非你是Perl的老手,否则你可能不知道$:是什么,即便如此,a bunch of those variables that are very similar也是如此。