项目中会经常要判断表是否是空表。
直接用表与{}比较,是错误的。
local a = {}
if a == {} then
print("a 是空表")
else
print("a 不是空表")
end
# 输出:a 不是空表
table是引用变量,这里比较的是a的地址和匿名table的地址,地址不相等。
可以利用lua内置的next函数,next函数获取table里面的下一个元素。
在项目的module中最好封装一下,免得module本地也有next函数。
function IsEmpty(t)
return _G.next(t) == nil
end
标签:空表,end,module,next,lua,为空,table
From: https://www.cnblogs.com/txtp/p/16637200.html