2015-07-13 153 views
2

我試圖從值中獲取表鍵名。 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" 
+0

PS:這需要用表的表工作(myTable的= {配置= {}}) –

+0

可能重複[ Lua從值中找到一個鍵值](http://stackoverflow.com/questions/7925090/lua-find-a-key-from-a-value) – ryanpattison

+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