2017-02-27 135 views
0

我已經看到了添加目錄中的Ruby加載路徑大多數的答案一直圍繞使用unshift,對於如:將目錄添加到Ruby中的加載路徑的END?

$:.unshift File.dirname(__FILE__) 

不能使用push呢?是否故意在將目錄添加到加載路徑時,大多數示例都使用unshiftpush

回答

1

您可以使用,但它們按順序檢查。 unshift將其置於最高優先級,push爲最低優先級。

通常情況下,這並不重要,你通常沒有重複的模塊名稱,但是如果你想重寫某些東西,那麼你需要早於其他路徑。這使得unshift更可取。

需要注意的一點是,通常使用$LOAD_PATH而不是$:更好,因此您所做的更清晰。除非你是一位Perl老手,否則你可能不知道什麼是$:,甚至有a bunch of those variables that are very similar