0
爲什麼當前目錄不包含在$ LOAD_PATH中?這看起來很奇怪。我只是繼續添加它,但有沒有一些原因,我沒有看到它只是沒有自動包含?
爲什麼當前目錄不包含在$ LOAD_PATH中?這看起來很奇怪。我只是繼續添加它,但有沒有一些原因,我沒有看到它只是沒有自動包含?
$LOAD_PATH
包括Ruby 1.8.7中的當前目錄,但此行爲在1.9.2中已更改。你可以在this question的答案中找到對這個決定背後原因的可能解釋,但我認爲基本思想是在1.8.7中的.
代表你的代碼被執行的目錄,而不是它所在的目錄。而在大多數情況下,你不希望這樣,.
在你的$LOAD_PATH
是不可靠的。
在1.9.2中使用require_relative
可能是一個很好的解決方案,如果您不想手動將.
手動添加到您的$LOAD_PATH
處處。你可以看到here它所做的只是顯式擴展相對路徑。有一點需要注意的是,它在1.9.2之前的版本中不可用,所以它會使你的代碼與舊的ruby不兼容。