【问题标题】:Get table key name from value从值中获取表键名
【发布时间】:2015-10-01 17:04:45
【问题描述】:

我正在尝试从一个值中获取表键名。 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"

【问题讨论】:

  • P.S : 这需要使用表的表 (myTable = { config = {} })
  • Lua find a key from a value 的可能重复项
  • 不,不是,我找到了方法
  • 似乎没有人完全理解您的问题,正如这里的答案和赞成票所暗示的那样。你能澄清你的问题的区别吗?
  • 我要重新解释一下。我有一个变量,我想得到他的名字(变量是一个表)

标签: lua key lua-table


【解决方案1】:

您将需要遍历表的所有pairs 并在值相等时返回键。请注意,这只会返回一个绑定,即使多个键可以导致相同的值:

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

【讨论】:

    【解决方案2】:
    table.find(t, value [,start_index]) -> [key or nil]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-08
      • 1970-01-01
      相关资源
      最近更新 更多