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)) do print(key, value) --- 表名称, 表对象 print(dump(value)) end