Skip to content

Commit

Permalink
Added dumptable.lua
Browse files Browse the repository at this point in the history
  • Loading branch information
icculus committed Dec 24, 2013
1 parent 3a71005 commit 7375774
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions dumptable.lua
@@ -0,0 +1,42 @@
function dumptable(tabname, tab, depth)
if depth == nil then -- first call, before any recursion?
depth = 1
end

if tabname ~= nil then
if tab == nil then
print(tabname .. " = nil")
return
else
print(tabname .. " = {")
end
end

local depthstr = ""
for i=1,(depth*4) do
depthstr = depthstr .. " "
end

if tab.DUMPTABLE_ITERATED then
print(depthstr .. "(...circular reference...)")
else
tab.DUMPTABLE_ITERATED = true
for k,v in pairs(tab) do
if type(v) == "table" then
print(depthstr .. tostring(k) .. " = {")
dumptable(nil, v, depth + 1)
print(depthstr .. "}")
else
if k ~= "DUMPTABLE_ITERATED" then
print(depthstr .. tostring(k) .. " = " .. tostring(v))
end
end
end
tab.DUMPTABLE_ITERATED = nil
end

if tabname ~= nil then
print("}")
end
end

0 comments on commit 7375774

Please sign in to comment.