lua序列化函数

来源:互联网 发布:2维旋转矩阵 编辑:程序博客网 时间:2024/05/01 06:18


此函数用来序列化table

function serialze(tbl,filename)print (filename)file=io.open(filename,'w')if file==nil then return endfunction serl(tbl)if type(tbl)=="number" thenfile:write(tbl)elseif type(tbl)=="string" thenfile:write(string.format("%q",tbl))elseif type(tbl)=="table" thenfile:write("{\n")for k,v in pairs(tbl) dofile:write(" [")serl(k)file:write("] =")serl(v)file:write(",\n")endfile:write("}\n")else error("cannot serialize a"..type(tbl))endendfile:write("return ")serl(tbl)end
示例userObj = {['id']=1,['name']='ice',['grade']=0,['sumGrade']=0,}输出文件内容为:return { ["id"] =1, ["sumGrade"] =0, ["name"] ="ice", ["grade"] =0,}

具体使用

local file=io.open('aaaa.lua','r')

if not file then print ('open file fail!') end

local tstr=file:read('*all')

local zz=loadstring(tstr)()

print (zz.id)

原创粉丝点击