我在将目录添加到Ruby中的加载路径时看到的大多数答案都在使用unshift
,例如:
$:.unshift File.dirname(__FILE__)
您不能使用push
吗?在将目录添加到加载路径时,大多数示例是否故意使用unshift
与push
?
答案 0 :(得分:1)
您可以使用其中之一,但会按顺序检查它们。 unshift
将其置于最高优先级,push
为最低优先级。
通常情况下这并不重要,您通常没有重复的模块名称,但是如果您想要覆盖某些内容,则需要比其他名称更早地使用您的路径。这使unshift
更令人满意。
需要注意的一点是,使用$LOAD_PATH
代替$:
通常会更好,因此您所做的更清晰。除非你是Perl的老手,否则你可能不知道$:
是什么,即便如此,a bunch of those variables that are very similar也是如此。