players={
{uuid = "abc",name = "TheEisbaer"},
{uuid= "def",name ="Eisbaer68"},
{uuid= "ghj",name = "kevin"}
}
list={name = "TheEisbaer", name = "Eisbaer68"}
使用print(list.name)
打印“Eisbaer 68”。
如何打印“The Eisbaer”?
-
你可以做print(players[3].uuid)
之类的事情或者如何做到这一点?
答案 0 :(得分:4)
如果我理解(并且相信我,这并不容易)你想要做的事情:
首先:
list={name = "TheEisbaer", name = "Eisbaer68"}
相当于
list={name = "Eisbaer68"}
或者更清楚地说,或许:
list={}
list.name = "TheEisbaer"
list.name = "Eisbaer68"
当您在同一个表中使用相同的键两次时,最新的键值会覆盖前一个键。
您似乎希望在数据库中实现相当于“加入”的功能。如果你想要显示(或者,通常是过滤)来自那些“名字”的玩家的“记录”也出现在列表中,可能是这样的:
players =
{
{uuid= 'abc', name = 'TheEisbaer' },
{uuid= 'def', name = 'Eisbaer68' },
{uuid= 'ghj', name = 'kevin' },
}
list = { TheEisbaer=true, Eisbaer68=true }
for _,t in ipairs(players) do
if list[t.name] then --if key exists in list table ...
print(t.name .. ' => ' .. t.uuid)
end
end
此处列表中包含使查找更简单的键。您也可以采用不同的方式,但可能需要嵌套的FOR循环来遍历两个表之间的所有可能组合。