Lua
qq_35267906
这个作者很懒,什么都没留下…
展开
-
Lua 实现字符串的分割
在开发过程中,经常会用到字符串分割,如C#中的string.Split函数,把一个字符串按某个子字符串分割成一个字符串数组。基本思想:使用Lua自带的string.gmatch()函数实现,此函数可以对一个字符串做正则表达式匹配,返回一个迭代器。-- 分割字符串---@param str string 元字符串---@param seq string 分割字符---@retur...原创 2020-06-30 18:23:00 · 3577 阅读 · 2 评论 -
Lua 十进制到任意进制的转换
此方法位数学计算方法,可能效率不是最好,但可以提供一个计算思想。这里实现2-16进制的转换,此思想可以扩展到任意进制。数学思想:比如给给定一个十进制数字 20,我们要转成8进制,我们就反复除以8,把结果取证,如果大于8,对结果继续除,每次的余数按顺序排列下来。最好结果就是 结果|余数|余数|余数....。20 / 8 = 2 余数 4,2 不大于等于8,停止运算,转换成的8进制就是:...原创 2020-06-30 18:10:28 · 1144 阅读 · 1 评论 -
Lua rawset和rawget的用法
rawset 和rawget 操作非元表里面的值,所以想获取或设置不是元表里面的值时候使用。local a = {b = 1,c = 2}local e = {f = 3,g = 4}setmetatable(a,e)e.__index = function(t,key) return rawget(t,key)ende.__newindex = function(t,k,...原创 2020-06-30 18:23:47 · 228 阅读 · 0 评论 -
Lua 设置只读table
在开发过程中,比如配置,服务器下发的数据,这些数据我们不做修改。怎么防止别人的误修改呢。我们可以设置__newindex 元方法来实现:--把table 变成readobly---@param t table 对象function Common.TableReadOnly(t) if t == nil or type(t) ~= "table" then retu...原创 2020-06-30 18:16:33 · 139 阅读 · 0 评论