Включение файлов в Ruby Questions
Вопрос
- Я очень новичок в Ruby, поэтому не могли бы вы, пожалуйста, предложить наилучшую практику разделения файлов и их включения.
- Какова предпочтительная структура оформления макета файла?Когда вы решите перенести алгоритм в новый файл?
- Когда вы используете нагрузка чтобы включить другие файлы и когда вы используете требовать?
- И снижается ли производительность при включении файлов?
Спасибо.
Решение
Я создаю по одному файлу для каждого класса, за исключением классов, которые являются небольшими вспомогательными классами, не нужными другим файлам.Я также разделяю свои различные модули по подкаталогам.
Разница между
load
иrequire
являетсяrequire
загрузит файл только один раз, даже если он вызывается несколько раз, в то время какload
загрузит его снова независимо от того, был ли он загружен ранее.Вам почти всегда захочется использоватьrequire
, за исключением , может быть ,irb
когда вы хотите вручную перезагрузить файл.Я не уверен в успехе исполнения.Когда ты
load
илиrequire
файл, интерпретатор должен интерпретировать файл.Большинство Ruby скомпилируют его в код виртуальной машины после того, как это потребуется.Очевидно,require
более эффективен, когда файл, возможно, уже был включен один раз, поскольку, возможно, не придется загружать его снова.