从值获取表键名称

时间:2015-07-13 12:20:37

标签: lua key lua-table

我试图从一个值中获取表键名称。 tostring仅返回table: XXXXXXXXX

我尝试了一些功能,但没有任何效果。

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

function openMenu(playerName, configTable)
    players[playerName] = Something to get Table Key...

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

接下来,如果我这样做:

print(players[playerName])

我想得到这个输出:

"config"

2 个答案:

答案 0 :(得分:3)

如果值相等,您将需要迭代表的所有pairs并返回密钥。请注意,这只会返回一个绑定,即使多个键可以导致相同的值:

function find(tbl, val)
    for k, v in pairs(tbl) do
        if v == val then return k end
    end
    return nil
end

答案 1 :(得分:-1)

table.find(t, value [,start_index]) -> [key or nil]