lua杂记

用.访问属性,与用[]访问属性

用传入索引拼接的key值,从table中获取对应的value

self.cardBaseCfg["attr"..index]

传入的index不同,可以获取不同的配置表属性。如果index为1,即相当于self.cardBaseCfg.attr1

用:访问方法,与用[]访问方法

self:set_type3Text_text(str)

可以写成如下形式:

self["set_type"..type.."Text_text"](self, str)

因为:自带self参数,所以还要加上self参数

判断table是否为空的正确做法

利用next函数

if next(a) ~= nil
	--不是空表
else
	--空表
end

如果a是数组,那么#a返回的是数组的长度,直接判断#a == 0就可以了。这个的前提是:a必须是数组才能这样做

链接:lua 判断table是否为空的正确做法_斧冰-CSDN博客_lua 判断table是否为空

Lua table中安全移除元素的方法

从后往前删除

for i = #test, 1, -1 do
    if remove[test[i]] then
        table.remove(test, i)
    end
end

获取 table 的长度

list类型的,直接用#就行。其他的table无论是使用 # 还是 table.getn 其都会在索引中断的地方停止计数,而导致无法正确取得 table 的长度。

可以使用以下方法来代替:

function table_leng(t)
  local leng=0
  for k, v in pairs(t) do
    leng=leng+1
  end
  return leng;
end

删除Table元素的两种方法

1、将字段赋值为 nil,适用于字典
2、使用Table库里的 table.remove(table, index),使用于列表

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值