如果表中有多个元素,如何在 Lua 中检查?

How to check in Lua if there are multiple elements in a table?

提问人:KirilAf 提问时间:10/6/2023 更新时间:10/6/2023 访问量:37

问:

我制作了一个程序,它检查表中是否具有(例如)“A”和“B”。但这行不通。

代码如下:

function inTable(t,e)
    return t[e] ~= nil
end

--Example
local table_ = {"A","B"}

if inTable(table_,"A") and inTable(table_,"B") then
    --Do some stuff
end

请帮帮我。

我尝试了一切,但仍然不起作用。

lua lua-table

评论

0赞 ESkri 10/6/2023
创建表,您的代码将起作用。local table_ = {["A"]=1,["B"]=1}

答:

3赞 Ivo 10/6/2023 #1

您正在检查这些密钥是否作为密钥存在。您应该检查它们是否作为值存在。您可以将函数更改为此

function inTable(t,e)
    for k,v in pairs(t) do
        if v == e then
            return true
        end
    end
    return false
end

另外,如果您不知道

local table_ = {"A","B"}

相当于

local table_ = {[1] = "A", [2] = "B"}