三个方法,每个方法都要ubutong的通,详情看代码
---打印table
---@param table table @列表
---@param title string @标题
function print_table(table, title)
local text = ""
if title ~= nil and title ~= "" then
text = text .. title .. " : "
end
if type(table) ~= "table" then
print(text .. " 不是列表, 类型为" .. type(table))
else
text = text .. "\n";
text = once_table(table,text,0)
print(text)
end
end
local function get_space(num)
local text = ""
for i = 1, num + 1, 1 do
text = text.." "
end
return text
end
local function once_table(table, text, space)
local space_numt = space
local space_text = get_space(space_numt)
text = text..space_text.."{\n"
space_numt = space_numt + 1
space_text = get_space(space_numt)
for i,v in pairs(table) do
if type(v) == "string" then
text = text..space_text..i.." : \""..v.."\"\n"
elseif type(v) == "number" then
text = text..space_text..i.." : "..tostring(v).."\n"
elseif type(v) == "boolean" then
text = text..space_text..i.." : "..tostring(v).."\n"
elseif type(v) == "table" then
text = text..space_text..i.." : "..once_table(v, "\n", space_numt).."\n"
else
text = text..space_text..i.." : "..tostring(v).."\n"
end
end
space_numt = space_numt - 1
space_text = get_space(space_numt)
text = text..space_text.."}"
return text
end