Когда использовать Ruby вместо «load» вместо «require»? - PullRequest
2 голосов
/ 01 декабря 2010

Я понимаю, что require загружает файл только один раз, а load загружает его каждый раз, когда он вызывается.

Похоже, использование require предпочтительнее в большинстве ситуаций.

Мой вопрос: когда бы я использовал load вместо require?

Ответы [ 3 ]

2 голосов
/ 01 декабря 2010

Загрузка занимает полный путь к файлу, например:

load "/path/to/file.rb"

Между тем, require загружает файл только один раз И не требует от вас указывать расширение .rb:

require "/path/to/file"
require "/path/to/file.rb"

Для повышения производительности рекомендуется использовать require на практике, но я читал, что Rails использует нагрузку в режиме разработки, поэтому вам не нужно перезагружать сервер при каждом изменении.

1 голос
/ 01 декабря 2010

Если вам нужно принудительно перезагрузить что-то (типичным примером будет веб-сервер или тестовый сервер).Вы должны использовать автозагрузку, когда есть реальная вероятность того, что какой-то фрагмент кода не попадет, или вы хотите решить проблемы со временем загрузки приложения.Вы должны использовать require в любое другое время.

1 голос
/ 01 декабря 2010

Ну, я думаю, что ответ на ваш вопрос.Вы написали:

", который требует, загружает файл только один раз"

Так что теперь, если вы измените файл или что-то внешнее изменит файл?С load вы получаете «состояние», которое сохраняется во время загрузки.С require нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...