lua数据打印

function getTableData(obj)
    local lua = ""
    local t = type(obj)
    if t == "number" then
        lua = lua .. obj
    elseif t == "boolean" then
        lua = lua .. tostring(obj)
    elseif t == "function" then
        lua = lua .. tostring(obj)
    elseif t == "string" then
        lua = lua .. string.format("%q", obj)
    elseif t == "table" then
        lua = lua .. "{\n"
        for k, v in pairs(obj) do
            if not  ExceptKey[k] then
                lua = lua .. "[" .. getTableData(k) .. "]=" .. getTableData(v) .. ",\n"
            end
        end
        local metatable = getmetatable(obj)
        if metatable ~= nil and type(metatable.__index) == "table" then
            for k, v in pairs(metatable.__index) do
                if not  ExceptKey[k] then
                    lua = lua .. "[" .. getTableData(k) .. "]=" .. getTableData(v) .. ",\n"
                end
            end
        end
        lua = lua .. "}"
    elseif t == "nil" then
        return nil
    elseif t == "userdata" then
        lua = lua .. "{\n"
        local metatable = getmetatable(obj)
        if metatable ~= nil and type(metatable.__index) == "table" then
            for k, v in pairs(metatable.__index) do
                if not  ExceptKey[k] and not type(v) ~= "userdata" then
                    lua = lua .. "[" .. getTableData(k) .. "]=" .. getTableData(v) .. ",\n"
                end
            end
        end
        lua = lua .. "}"
    end
    return lua
end

猜你喜欢

转载自blog.csdn.net/weixin_41995872/article/details/126485461
LUA