1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
-- Copyright (C) 2007-2016 by Ubaldo Porcheddu <ubaldo@eja.it>
function ejaNumber(i)
return tonumber(i) or 0
end
function ejaString(v)
if type(v) == "number" then
return tostring(v)
elseif type(v) == "string" then
return v
else
return ""
end
end
function ejaSprintf(...)
return string.format(...)
end
function ejaPrintf(...)
print(string.format(...))
end
function ejaXmlEncode(str)
if str then
return string.gsub(str, "([^%w%s])", function(c) return string.format("&#x%02X;", string.byte(c)) end)
else
return ""
end
end
function ejaUrlDecode(url)
return url:gsub("%%(%x%x)",function(h) return string.char(tonumber(h,16)) end )
end
function ejaCheck(a,b)
if a then
if b then
if tonumber(b) then
return tonumber(a) == tonumber(b)
else
return tostring(a) == tostring(b)
end
else --b doesn't exist
if type(a) == "table" then
local i=0;
for k,v in next,a do i=i+1 end
if i > 0 then
return true
else
return false
end
else
if tonumber(a) then
return tonumber(a) > 0
else
return a ~= ""
end
end
end
else
return false
end
end
function ejaOct2Dec(s)
local z=0;
for i=#s,1,-1 do
z=z+tonumber(s:sub(i,i))*8^(#s-i)
end
return z;
end
|