2014-10-27 96 views
1

有没有办法检索表的名称?例如,从这个表我想只提取键名“模拟”,“Molibdeno”,“塔玛琳”,“Wrenna”检索表名

UnitScanDB = { 
    profiles = { 
     Mimic = { 
     ... 
     }, 
     Molibdeno = { 
     ... 
     }, 
     Tamanrindo = { 
     ... 
     }, 
     Wrenna = { 
     ... 
     } 
    } 
} 
+0

表与每个其他Lua值(包括函数)一样,没有“名称”。您正在询问字段变量名称(这是一个类型为“字符串”的表键,它恰好满足Lua标识符的要求,这简化了语法)。因此,答案将是在表格中查找关键字的方法。 – 2014-10-27 17:56:23

回答

3

可以iterate在内表使用pairs

for k in pairs(UnitScanDB.profiles) do 
    -- handle k 
end 

使用上述循环,你可以,例如,复制所有的按键到一个新表:

local names = {} 
for k in pairs(UnitScanDB.profiles) do 
    table.insert(names, k) 
end 
0

您可以简单地通过他们的名称来访问这些键,像这样:

mimic = UnitScanDB.profiles.Mimic 
molibdeno = UnitScanDB.profiles.Molibdeno