Запустите все файлы Lua в каталоге - PullRequest
1 голос
/ 15 октября 2011

Допустим, у меня есть файл main.lua, а в подкаталоге у меня есть ряд скриптов Lua, которые я хотел бы запустить.Есть ли способ запустить все скрипты в подкаталоге на простом ванильном Lua - то есть без необходимости загружать какие-либо внешние модули или пакеты?require и dofile, насколько я могу судить, работают только с отдельными файлами, я хотел бы иметь возможность делать что-то вроде require "subdir/*".

Ответы [ 2 ]

3 голосов
/ 21 октября 2011

У вас есть доступ к os.execute? Можете ли вы вести список модулей, которые вы хотите загрузить?

Если у вас есть полный переводчик Lua, довольно легко сделать то, что вы хотите. (Вот пример для Windows)

 local f = io.popen("dir /b") for mod in f:lines() do require(mod) end
3 голосов
/ 15 октября 2011

Есть ли способ запустить все скрипты в подкаталоге на простом ванильном Lua - то есть без необходимости загружать какие-либо внешние модули или пакеты?

Нет. Lua предназначен для встроенного языка. Таким образом, «ванильный Луа» очень маленький. У этого есть немного основанных на файловой системе особенностей; итерация по каталогу и файлам сопоставления с образцом невозможна.

Если вы серьезно относитесь к использованию Lua в качестве языка сценариев оболочки, то вам нужно привыкнуть к использованию модулей Lua для достижения цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...