42 lines
1.1 KiB
Lua
42 lines
1.1 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
|