练习15.1
num = -1
function serialize(o)
local t = type(o)
if t == "number" or t == "string" or t == "boolean" or t == "nil" then
io.write(string.format("%q", o))
elseif t == "table" then
num = num + 1
local temp = string.rep(" ",num*4)
io.write("{\n")
for k,v in pairs(o) do
io.write(temp.." ", k, " = ")
serialize(v)
io.write(",\n")
end
io.write(temp.."}\n")
else
error("cannot serialize a "..type(o))
end
end
serialize({a = 12, b = "Lua", key = 'another "one"', c = {1,2,3,4}})
练习15.2
num = -1
function serialize(o)
local t = type(o)
if t == "number" or t == "string" or t == "boolean" or t == "nil" the