據我所知,require
只加載一次文件,而load
每次調用時加載它。什麼時候在Ruby中使用「load」而不是「require」?
它看起來像使用require
在大多數情況下更可取。
我的問題是,我什麼時候可以使用load
而不是require
?
據我所知,require
只加載一次文件,而load
每次調用時加載它。什麼時候在Ruby中使用「load」而不是「require」?
它看起來像使用require
在大多數情況下更可取。
我的問題是,我什麼時候可以使用load
而不是require
?
如果您需要強制重新加載某個常見示例(Web服務器或測試服務器)。你應該使用自動加載,當有合理的可能性某些代碼不會被擊中,或者你想解決應用程序加載時間問題。您應該在所有其他時間使用require。
嗯,我認爲答案在你的問題。您寫道:
「需要加載該文件只有一次」
所以,現在如果你改變文件或外在的東西改變的文件會發生什麼? 使用load
您可以獲得負載期間保持的「狀態」。用require
不是。
負荷發生在一個文件的全稱路徑,如:
load "/path/to/file.rb"
同時,需要將加載該文件只有一次,不要求你指定的.rb擴展:
require "/path/to/file"
require "/path/to/file.rb"
建議您在實踐中使用require以獲得更好的性能,但我已經讀過Rails在開發模式中使用加載,因此您無需在每次更改時都重新啓動服務器。
謝謝!你可能意味着Rails使用`load`(而不是`include`)。 – 2010-12-01 11:34:35