Mercurial > wow > breuesk
view Utility.lua @ 50:b155a875de42
Some API updates
author | John@Yosemite-PC |
---|---|
date | Wed, 21 Mar 2012 23:23:06 -0400 |
parents | b3679847e292 |
children | 619e4b9c3cd9 |
line wrap: on
line source
local bsk=bsk local pairs=pairs local tostring=tostring local type=type 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(table, depth) depth = depth or "" if not table then return end if #depth > 3*5 then print(depth.."Recursion too deep - stopping"); return end for i,v in pairs(table) 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) .." - ") PrintTable(v,depth.." ") 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