1
我可以与两件的信息(姓名和一个第二片,例如年龄)用下面的代码进行排序的表:排序一个表包含表格
t = {
Steve = 4,
Derek = 1,
Mike = 5,
Steph = 10,
Mary = 7,
Danny = 2
}
function pairsByKeys (t,f)
local a = {}
for x in pairs (t) do
a[#a + 1] = x
end
table.sort(a,f)
local i = 0
return function()
i = i + 1
return a[i], t[a[i]]
end
end
for a,t in pairsByKeys (t) do
print (a,t)
end
结果:
Danny 2
Derek 1
Mary 7
Mike 5
Steph 10
Steve 4
我有一个场景,在大会上每个人的名字标签都包含一个条形码。该条形码在扫描时将关于每个人的四条信息输入到表格数据库中。这个数据库是由以下几部分组成:
t = {
{name = "Mike", addr = "738 Rose Rd", age = 30, phone = "333-902-6543"}
{name = "Steph", addr = "1010 Mustang Dr", age = 28, phone = "555-842-0606"}
{name = "George", addr = "211 Glass St", age = 34, phone = "111-294-9903"}
}
但我将如何改变我的代码在所有四个项目内容(姓名,地址,年龄,电话),按年龄和排序保持所有的变量符合彼此?
我一直在试图进行实验,并正在逐渐被pairs
排序表的窍门,并有更好的想法如何执行table.sort
。但是现在我想再走一步。
我可以从这里的编程大师获得一些帮助吗?!这是非常感谢家伙!谢谢!
谢谢。但是,我怎样才能将键设置为“年龄”而不必物理地操作? (由于某种原因,我似乎无法回复你,@洛伦佐·多纳蒂?) – Pwrcdr87
@洛伦佐·多纳蒂克。我刚刚意识到我没有'local timer = os.time()重复,直到os.time()> timer + 10'结束。有用!谢谢! – Pwrcdr87