当前位置:网站首页>lua杂记

lua杂记

2022-08-11 05:31:00 星际行走

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

self.cardBaseCfg["attr"..index]

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

判断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),使用于列表

原网站

版权声明
本文为[星际行走]所创,转载请带上原文链接,感谢
https://blog.csdn.net/u012685888/article/details/122470196