0
我已经看到了添加目录中的Ruby加载路径大多数的答案一直围绕使用unshift
,对于如:将目录添加到Ruby中的加载路径的END?
$:.unshift File.dirname(__FILE__)
不能使用push
呢?是否故意在将目录添加到加载路径时,大多数示例都使用unshift
与push
?
我已经看到了添加目录中的Ruby加载路径大多数的答案一直围绕使用unshift
,对于如:将目录添加到Ruby中的加载路径的END?
$:.unshift File.dirname(__FILE__)
不能使用push
呢?是否故意在将目录添加到加载路径时,大多数示例都使用unshift
与push
?
您可以使用,但它们按顺序检查。 unshift
将其置于最高优先级,push
为最低优先级。
通常情况下,这并不重要,你通常没有重复的模块名称,但是如果你想重写某些东西,那么你需要早于其他路径。这使得unshift
更可取。
需要注意的一点是,通常使用$LOAD_PATH
而不是$:
更好,因此您所做的更清晰。除非你是一位Perl老手,否则你可能不知道什么是$:
,甚至有a bunch of those variables that are very similar。