在Windows下有LuaStudio工具可以调试查看数据,但在Mac上没有,所以只能通过print看数据,跟数据,所以需要一个能将Table像其他格式一样输出的方法。
我的思路是 将Table一层层剥开,并有层次感的一层层排列开来,所以利用递归层层深入。
代码如下
local printAll = function(target, params)
local targetType = type(target)
if targetType == "table" then
local tip = params and params.tip or "This is a Table!^_<......................................"
local cache = {[target] = "."}
local isHead = false
local function dump(t, space, level)
local temp = {}
if not isHead then
temp = {tip}
isHead = true
end
for k, v in pairs(t) do
local key = tostring(k)
if type(v) == "table" then
table.insert(temp, string.format("%s+[%s]\n%s", string.rep(" ", level), key, dump(v, space, level + 1)))
else
table.insert(temp, string.forma