从值获取表键名

我试图从一个值中获取表的键名。

tostring只返回table:XXXXXXXXX

我尝试了一些函数,但没有什么起作用。

config = {
    opt1 = "etc..."
}
players = {}

function openMenu(playerName, configTable)
    players[playerName] = 获取表的键(需编写代码)...

    -- read the table and create a gui not yet made
end

接下来,如果我这样做:

print(players[playerName])

我希望得到这个输出:

"config"
点赞
用户2765603
用户2765603

你需要遍历 table 中的所有 pairs,并在值相等时返回键。请注意,即使多个键可以导致相同的值,该函数也只会返回一个绑定:

function find(tbl, val)
    for k, v in pairs(tbl) do
        if v == val then return k end
    end
    return nil
end
2015-07-13 12:35:54
用户3042207
用户3042207
`table.find(t, value [,start_index]) -> [key or nil]`

table.find 函数用于在 Lua 表中查找指定值的键,如果找到则返回对应的键值,否则返回 nil。其函数参数为表 t 和要查找的值 value。可选参数 start_index 用于设置查找的起始位置索引。如果在查找期间遇到 nil,查找将被终止。
2018-07-19 19:33:00