Mercurial > wow > breuesk
view Utility.lua @ 69:b7352f007028
Working on bids/rolls in the GUI
Added debug mode to populate things with dummy data.
author | John@Yosemite-PC |
---|---|
date | Thu, 29 Mar 2012 20:17:59 -0400 |
parents | 619e4b9c3cd9 |
children | 790266dbcaff |
line wrap: on
line source
local bsk=bsk local pairs=pairs local tostring=tostring local type=type local table=table local getmetatable=getmetatable local setmetatable=setmetatable setfenv(1,bsk) -- These two functions properly format the call to AceConsole:Print(), which -- needs a full object. Calling "Print" will call the mixed-in console functions -- but without a self parameter because of the namespacing. I would disembed -- console, except that it has handy OnDisable behavior to disable chat -- commands. function print(...) bsk:Print(...) end function printf(...) bsk:Printf(...) end function tcopy(to, from) for k,v in pairs(from) do if(type(v)=="table") then to[k] = {} tcopy(to[k], v); else to[k] = v; end end end function shallowCopy(t) local u = { } for k, v in pairs(t) do u[k] = v end return setmetatable(u, getmetatable(t)) end function PrintTable(tabl, depth, history) depth = depth or "" history = history or {} if not tabl then return end if #depth > 3*5 then print(depth.."Recursion too deep - stopping"); return end for i,v in pairs(tabl) do if( type(v) == "string" ) then print(depth .. i .. " - " .. v) elseif( type(v) == "number" ) then print(depth .. i .. " - " .. tostring(v)) elseif( type(v) == "table" ) then --if v == table then return end print(depth .. tostring(i) .." - ") if history then for i,vh in pairs(history) do if vh==tabl then print(depth.. " - circular reference detected; halting print") return end end end table.insert(history,tabl) PrintTable(v,depth.." ",history) table.remove(history) elseif( type(v) == "boolean" ) then print(depth .. i .. " - " .. tostring(v)) elseif( type(v) == "function" ) then print(depth .. "function " .. i .. "()") else print(depth .. i .. " - not sure how to print type: " .. type(v) ) end end end