nodemcu-httpserver/TablePrinter.lua
2015-02-08 22:08:18 -06:00

33 lines
1.1 KiB
Lua

-- Print anything - including nested tables
-- Based on but modified from:
-- http://lua-users.org/wiki/TableSerialization
module("TablePrinter", package.seeall)
function TablePrinter.print (tt, indent, done)
done = done or {}
indent = indent or 0
if tt == nil then
print("nil\n")
else
if type(tt) == "table" then
for key, value in pairs (tt) do
print(string.rep (" ", indent)) -- indent it
if type (value) == "table" and not done [value] then
done [value] = true
print(string.format("[%s] => table\n", tostring (key)));
print(string.rep (" ", indent+4)) -- indent it
print("(\n");
table_print (value, indent + 7, done)
print(string.rep (" ", indent+4)) -- indent it
print(")\n");
else
print(string.format("[%s] => %s\n",
tostring (key), tostring(value)))
end
end
else
print(tt .. "\n")
end
end
end