function ToString (tab, cnt)
cnt = cnt or 1
local tp = type(tab)
if tp ~= 'table' then
return tostring(tab)
end
if cnt >= 4 then -- 这里的4代表嵌套层数,比如:{--1{--2{--3{}}}}
return tostring(tab)
end
local function getSpace(count)
local temp = {}
for i = 1, count * 4 do
table.insert(temp, ' ')
end
return table.concat(temp)
end
local tabStr = {}
table.insert(tabStr, '{\n')
local spaceStr = getSpace(cnt)
for k, v in pairs(tab) do
table.insert(tabStr, spaceStr)
table.insert(tabStr, '[')
table.insert(tabStr, ToString(k, cnt + 1))
table.insert(tabStr, '] = ')
table.insert(tabStr, '[')
table.insert(tabStr, ToString(v, cnt + 1))
table.insert(tabStr, '], \n')
end
table.insert(tabStr, getSpace(cnt - 1))
table.insert(tabStr, '}')
return table.concat(tabStr)
end
可以直接copy复制使用,使用方法:直接使用全局函数ToString(需要转换的table)
来源:CSDN
作者:Reece-Chen
链接:https://blog.csdn.net/benjonc/article/details/103474302