- выводит логическое значение
Это в значительной степени неверно.require
возвращает возвращаемое значение загруженного модуля Lua.Если этот модуль не возвращает значение, он возвращает true
.Если модуль не может быть загружен, он возвращает false
с последующим сообщением об ошибке.
Модули Lua ожидаются , чтобы вернуть таблицу, содержащую содержимое внутри этого модуля.Именно так должна работать идиома модуля, и большинство модулей так и делают.Таким образом, идиома local varname = require "modulename"
, как правило, используется для доступа к модулям.
В более старой идиоме Lua для модулей (используемой в основном в Lua 5.0 через функцию module
) модули просто сбрасывали все свои функции вглобальная таблица или подтаблица в глобальной таблице.От этого в значительной степени отказались по очевидным причинам.Теперь ожидается, что модули уважают глобальную таблицу и оставляют ее в покое.
И, пожалуйста, обратите внимание на использование local
здесь.Вы также не должны загрязнять глобальную таблицу.