Если у меня есть файл структура, как это:нагрузки Lua-файлы по относительному пути
./main.lua
./mylib/mylib.lua
./mylib/mylib-utils.lua
./mylib/mylib-helpers.lua
./mylib/mylib-other-stuff.lua
Из main.lua
файл mylib.lua
может быть загружена полным путем require('mylib.mylib')
. Но внутри mylib.lua
Я также хотел бы загрузить другие необходимые модули, и я не чувствую, что всегда указываю полный путь (например, mylib.mylib-utils
). Если я когда-нибудь решит переместить папку, у меня будет много поиска и замены. Есть ли способ использовать только относительную часть пути?
UPD. Я использую Lua с Corona SDK, если это имеет значение.
Спасибо, это сработало для загрузки файлов. Но когда я обращаюсь к публичным свойствам модуля, мне все равно нужно указать полный путь (например, 'lib.foo.bar.some_value'). – RocketR
Это не имеет никакого отношения к загрузке файлов; он просто отражает то, как вы решили структурировать свой Lua.Вы можете (например) вернуть таблицу на каждый запрос и сохранить ее в локальном var: 'local baz = require (folderOfThisFile .. 'baz')', а затем сделать 'baz.some_value' – kikito
Прохладный, я не сделал знать о '...' внешних функциях, являющихся строкой, которая использовалась для запроса файла. –