一些自定义的Lua常用的工具函数

sk = sk or {}
local xmtool = {}
–[[
@brief Defined some commonly used functions
@by xiaoming
]]

local countCode = [[
local i = 0
return function()
i = i + 1
return i
end
]]

—自定义计数器
xmtool.xmCounter = assert(loadstring(countCode))

———————————
–获得类的单例函数
–@param clss 要获得单例的类
–@param singleton 需要获得的单例
–@return clss 的singleton
———————————
function xmtool.getSingleton(clss,singleton,…)
return singleton or clss:new(…)
end

—————————————
–包装回调函数,使得类方法定义1致化
–@param obj 要调用的函数的对象
–@param method function 要调用的函数
—————————————
function xmtool.handlerCall(obj, method)
return function(…)
return method(obj, …)
end
end

——————————————-
–字符串分割
–@param input 输入的字符串
–@param delimiter 用于分割的字符
–@return #table/如果分隔符为空,则返回false
——————————————-
function xmtool.splitStr(input, delimiter)
input = tostring(input)
delimiter = tostring(delimiter)
if (delimiter=='') then return false end
local pos,arr = 0, {}
— for each divider found
for st,sp in function() return string.find(input, delimiter, pos, true) end do
table.insert(arr, string.sub(input, pos, st – 1))
pos = sp + 1
end
table.insert(arr, string.sub(input, pos))
return arr
end

———————————–
–字符串分割
–@param input 输入的字符串
–@param delimiter 用于分割的字符
–@return #string
———————————–
function xmtool.getSplitStr(input, delimiter)
local arr = xmtool.splitStr(input,delimiter)
local str = ""
if(type(arr) ~= "table") then return tostring(input)
else
for i=1,#arr do
str = str..arr[i]
end
end
return str
end

—————————–
–打印信息
—————————–
function xmtool.skLog(…)
print(string.format(…))
end

———————–
——-打印日志———
———————–
function xmtool.printFuncMsg(msgInfo,tableFunc)
printInfo(msgInfo..",file:%s,line:%s",tableFunc.source,tableFunc.currentline)
end

—————————–
–打印相应堆栈信息
–msg 我们添加的自定义信息
—————————–
function xmtool.printTraceMsg(msg)
xmtool.skLog("—————————————-")
xmtool.skLog("MSG: " .. tostring(msg) .. "
")
xmtool.skLog(debug.traceback())
xmtool.skLog("—————————————-")
return msg
end

————————————–
–关键函数出错检测
–@param func #function 需要检测的函数
–@param msg 自定义信息
–@param level 毛病级别
————————————–
function xmtool.catchError(func,msg,level)
local state , message = xpcall(func,function() return xmtool.printTraceMsg(msg) end)
return state or error(message,level)
end

———————————
–将数字转为百分比字符串
–@param number 要转化的数字
–@param retain 要保存的小数位数
———————————
function xmtool.getPercentString(number,retain)
local ret = tostring(retain)
return string.format("%."..ret.."f".."%%",number*100)
end

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » 一些自定义的Lua常用的工具函数

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡