我在Ruby中向负载路径添加目录的大多数答案一直在使用unshift
,例如:
$:.unshift File.dirname(__FILE__)
您不能使用push
吗?在将目录添加到负载路径时,大多数示例是否是故意使用unshift
与push
?
您都可以使用,但按顺序进行检查。unshift
将其放入最高优先级,push
是最低的。
通常这没关系,通常没有重复的模块名称,但是,如果您想覆盖某些东西,则需要比其他人更早拥有路径。这使unshift
更加可取。
要注意的一件事是,通常最好使用$LOAD_PATH
而不是$:
,因此您要做的事情变得更加清楚。除非您是Perl退伍军人,否则您可能不知道$:
是什么,即使那样,还有一堆非常相似的变量。