В чем разница между doFile и require в Lua

В чем разница между doFile и require в Lua, особенно в Torch? Когда вы звоните одному, но не другому? Когда один будет работать, а другой нет? (Я использую Lua 5.1, torch7).


person lars    schedule 30.06.2015    source источник


Ответы (1)


dofile загружает и выполняет файл прямо здесь и сейчас.

require сложнее; он хранит таблицу уже загруженных модулей и возвращаемых ими результатов, чтобы гарантировать, что один и тот же код не будет загружен дважды. Он также хранит список загрузчиков модулей, которые обрабатывают загрузку модуля, один из которых может загружать из dll/so файлов.

Вы, вероятно, хотите require, как будто вы просто загружаете функции, вы не хотите их дублировать.

person Colonel Thirty Two    schedule 30.06.2015
comment
Ручные записи Lua 5.1 для dofile и require. - person Etan Reisner; 01.07.2015