当前位置: 代码迷 >> 综合 >> lua解析lua脚本
  详细解决方案

lua解析lua脚本

热度:55   发布时间:2024-02-06 11:12:22.0

lua中使用loadString可以直接以字符串形式运行代码,loadfile可以直接解析代码为lua function.

如果一个lua数据文件有结尾返回例如:

return sound = {};

则可以直接使用 dofile来执行文件,执行结果就是sound --table。

如果lua数据文件没有返回值,dofile不可用,则需要使用loadfile来进行解析,然后通过以下方法取得其中定义的table

function parselua(scriptfile)local env = setmetatable({}, { __index = _G })assert(pcall(setfenv(assert(loadfile(scriptfile)), env)))setmetatable(env, nil)return env
end
for key, value in pairs(parselua(f)) doprint(key, value) --- 表名称, 表对象print(dump(value))
end

 

  相关解决方案