Модуль:Debug
Перейти до навігації
Перейти до пошуку
Документація модуля[перегляд] [редагувати] [історія] [очистити кеш]
У документації цього модуля не вистачає або відсутній опис його функціоналу, або параметрів у його коді. Будь ласка, допоможіть покращити її. |
Документація вище включена з Модуль:Debug/документація. (ред. | історія) Дописувачі можуть експериментувати на підсторінках пісочниця (створити | дзеркало) та тести (створити) цього шаблону. Будь ласка, додавайте категорії до підсторінки /документація. Підсторінки цієї сторінки. |
local m = {}
local function table_print(tt, indent)
indent = indent or 0
if type(tt) == "table" then
local sb = {}
for key, value in pairs (tt) do
table.insert(sb, string.rep (" ", indent))
if type(value) == "table" then
table.insert(sb, tostring(key).." =\n");
table.insert(sb, table_print (value, indent + 2))
elseif type(value) == "number" then
table.insert(sb, string.format("%s = %s\n", tostring (key), tostring(value)))
else
table.insert(sb, string.format(
"%s = \"%s\"\n", tostring (key), tostring(value)))
end
end
return table.concat(sb)
else
return tt .. "\n"
end
end
function m.print(tbl)
if type(tbl) == 'nil' then
return tostring(nil)
elseif type(tbl) == 'table' then
return table_print(tbl)
elseif type(tbl) == 'string' then
return tbl
else
return tostring(tbl)
end
end
return m