在目录中运行所有Lua文件

时间:2011-10-15 05:50:02

标签: lua

假设我有文件main.lua,并且在子目录中我有一系列我想要运行的Lua脚本。有没有办法在普通的Luilla Lua中运行子目录中的所有脚本 - 也就是说,无需加载任何外部模块或包?据我所知,requiredofile仅适用于单个文件,我希望能够执行require "subdir/*"之类的操作。

2 个答案:

答案 0 :(得分:3)

  

有没有办法在普通的Luilla Lua中运行子目录中的所有脚本 - 也就是说,无需加载任何外部模块或包?

没有。 Lua旨在成为一种嵌入式语言。因此,“香草Lua”非常小。它几乎没有基于文件系统的功能;迭代目录和模式匹配文件是不可能的。

如果您认真使用Lua作为shell脚本语言,那么您需要习惯使用Lua模块来完成任务。

答案 1 :(得分:3)

您是否可以访问os.execute?你能维护一个你想加载的模块列表吗?

如果你有一个完整的Lua解释器,你很容易做到你想要的。 (这是Windows的一个例子)

 local f = io.popen("dir /b") for mod in f:lines() do require(mod) end