Mercurial > hg > orthanc
diff Resources/Toolbox.lua @ 384:18fe778eeb95 lua-scripting
wrapper around lua
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 29 Apr 2013 16:59:31 +0200 |
parents | |
children | 9784f19f7e1b |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Resources/Toolbox.lua Mon Apr 29 16:59:31 2013 +0200 @@ -0,0 +1,18 @@ +--[[ rPrint(struct, [limit], [indent]) Recursively print arbitrary data. +Set limit (default 100) to stanch infinite loops. +Indents tables as [KEY] VALUE, nested tables as [KEY] [KEY]...[KEY] VALUE +Set indent ("") to prefix each line: Mytable [KEY] [KEY]...[KEY] VALUE +https://gist.github.com/stuby/5445834#file-rprint-lua +--]] +function rPrint(s, l, i) -- recursive Print (structure, limit, indent) + l = (l) or 100; i = i or ""; -- default item limit, indent string + if (l<1) then print "ERROR: Item limit reached."; return l-1 end; + local ts = type(s); + if (ts ~= "table") then print (i,ts,s); return l-1 end + print (i,ts); -- print "table" + for k,v in pairs(s) do -- print "[KEY] VALUE" + l = rPrint(v, l, i.."\t["..tostring(k).."]"); + if (l < 0) then break end + end + return l +end