【发布时间】:2011-01-17 22:54:32
【问题描述】:
有没有一种方法可以检查一个表是否包含一个值?我有自己的(天真的)功能,但我想知道是否存在“官方”的东西?或者更高效的方法...
function table.contains(table, element)
for _, value in pairs(table) do
if value == element then
return true
end
end
return false
end
顺便说一句,我使用这个函数的主要原因是使用表格作为集合,即没有重复的元素。还有什么我可以用的吗?
【问题讨论】:
-
_,符号是什么意思?
-
这只是一个名为
_的“垃圾”变量。pairs()返回key, value,但在这个例子中我只需要这个值。这是一种约定(在“Lua 编程”lua.org/pil/index.html 一书中采用)使用这个_变量来存储你不需要的东西。 -
我在 Python 和 JavaScript 中也看到了命名“垃圾”变量
_的约定。
标签: lua set unique contains lua-table