1234567891011121314151617181920212223242526272829303132 |
- -- 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
|