lua检测表中是否有某个值,如何检查表是否包含Lua中的元素?
Is there a method for checking if a table contains a value ? I have my own (naive) function, but I was wondering if something "official" exists for that ? Or something more efficient...
function table.contains(table, element)
for _, value in pairs(table) do
if value == element then
return true
end
end
return false
end
By the way, the main reason I'm using this functions is to use tables as sets, ie with no duplicate elements. Is there something else I could use ?
解決方案
You can put the values as the table's keys. For example:
function addToSet(set, key)
set[key] = true
end
function removeFromSet(set, key)
set[key] = nil
end
function setContains(set, key)
return set[key] ~= nil
end
There's a more fully-featured example here.
總結(jié)
以上是生活随笔為你收集整理的lua检测表中是否有某个值,如何检查表是否包含Lua中的元素?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 水滴筹的钱全部给病人吗
- 下一篇: 工商银行信用卡临时额度怎么申请