将目录添加到Ruby中的负载路径末端



我在Ruby中向负载路径添加目录的大多数答案一直在使用unshift,例如:

$:.unshift File.dirname(__FILE__)

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

您都可以使用,但按顺序进行检查。unshift将其放入最高优先级,push是最低的。

通常这没关系,通常没有重复的模块名称,但是,如果您想覆盖某些东西,则需要比其他人更早拥有路径。这使unshift更加可取。

要注意的一件事是,通常最好使用$LOAD_PATH而不是$:,因此您要做的事情变得更加清楚。除非您是Perl退伍军人,否则您可能不知道$:是什么,即使那样,还有一堆非常相似的变量。

最新更新