Как правило, вы должны использовать require
. load
будет перезагружать код каждый раз, поэтому, если вы сделаете это из нескольких модулей, вы будете выполнять много дополнительной работы. Ленивость autoload
в теории звучит хорошо, но многие модули Ruby делают такие вещи, как «лопатка» других классов, что означает, что поведение несвязанных частей вашей программы может зависеть от того, использовался ли данный класс или нет. autoload
находится в процессе устаревания , поэтому следует избегать его использования.
Если вы хотите создать свой собственный автоматический перегрузчик, который загружает ваш код каждый раз, когда он изменяется или каждый раз, когда кто-то нажимает на URL (в целях разработки, чтобы вам не приходилось перезагружать сервер каждый раз), тогда используйте load
ибо это разумно.