Lua Table的序列化与反序列化函数
Lua Table的序列化与反序列化函数
Lua Table的序列化与反序列化函数- table.tostring = function(t)
- local mark={}
- local assign={}
- local function ser_table(tbl,parent)
- mark[tbl]=parent
- local tmp={}
- for k,v in pairs(tbl) do
- local key= type(k)=="number" and "["..k.."]" or "[".. string.format("%q", k) .."]"
- if type(v)=="table" then
- local dotkey= parent.. key
- if mark[v] then
- table.insert(assign,dotkey.."='"..mark[v] .."'")
- else
- table.insert(tmp, key.."="..ser_table(v,dotkey))
- end
- elseif type(v) == "string" then
- table.insert(tmp, key.."=".. string.format('%q', v))
- elseif type(v) == "number" or type(v) == "boolean" then
- table.insert(tmp, key.."=".. tostring(v))
- end
- end
- return "{"..table.concat(tmp,",").."}"
- end
- return "do local ret="..ser_table(t,"ret")..table.concat(assign," ").." return ret end"
- end
- table.loadstring = function(strData)
- local f = loadstring(strData)
- if f then
- return f()
- end
- end
更多关于Lua的详细信息,或者下载地址请点这里
评论暂时关闭