gpt4 book ai didi

Lua - 表中表打印和排序

转载 作者:行者123 更新时间:2023-12-01 22:45:22 27 4
gpt4 key购买 nike

T = {
{Name = "Mark", HP = 54, Breed = "Ghost"},
{Name = "Stan", HP = 24, Breed = "Zombie"},
{Name = "Juli", HP = 100, Breed = "Human"}},

问题:

如何只打印名称?

如何按 HP 排序?

最佳答案

您需要使用 pairsipairs 函数遍历表以打印名称。 ipairs 从 1 迭代到 N(仅限数字索引),而 pairs 迭代每个元素,没有定义顺序。

> T = { {Name = "Mark", HP = 54, Breed = "Ghost"}, {Name = "Stan", HP = 24, Breed = "Zombie"}, {Name = "Juli", HP = 100, Breed = "Human"}}
> for _,t in ipairs(T) do print(t.Name) end
Mark
Stan
Juli

然后你可以使用table.sort 就地对表进行排序的函数:

> table.sort(T, function(x,y) return x.HP < y.HP end)
> for _,t in ipairs(T) do print(t.Name, t.HP) end
Stan 24
Mark 54
Juli 100

table.sort 的第二个参数是您选择的比较函数;在这种情况下,我们只想比较 HP 值。

关于Lua - 表中表打印和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1656444/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com