minetest-matrix_bridge/debug.lua

41 lines
1.0 KiB
Lua

function eprintf(fmt, ...)
minetest.log("info", fmt:format(...))
end
function table_print(tt, indent, done)
done = done or {}
indent = indent or 0
if type(tt) == "table" then
local sb = {}
for key, value in pairs(tt) do
table.insert(sb, string.rep(" ", indent)) -- indent it
if type(value) == "table" and not done [value] then
done[value] = true
table.insert(sb, "{\n");
table.insert(sb, table_print(value, indent + 2, done))
table.insert(sb, string.rep(" ", indent)) -- indent it
table.insert(sb, "}\n");
elseif "number" == type(key) then
table.insert(sb, string.format("%s\n", 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 to_string(tbl)
if "nil" == type(tbl) then
return tostring(nil)
elseif "table" == type(tbl) then
return table_print(tbl)
elseif "string" == type(tbl) then
return tbl
else
return tostring(tbl)
end
end