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