T = {
{Name = "Mark", HP = 54, Breed = "Ghost"},
{Name = "Stan", HP = 24, Breed = "Zombie"},
{Name = "Juli", HP = 100, Breed = "Human"}},
Run Code Online (Sandbox Code Playgroud)
问题:
我怎么打印这些名字?
和
我如何通过HP对其进行排序?
您需要使用pairs
或ipairs
函数来遍历表,以打印名称. 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
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用该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
Run Code Online (Sandbox Code Playgroud)
第二个参数table.sort
是你选择的比较函数; 在这种情况下,我们只想比较HP值.
归档时间: |
|
查看次数: |
5176 次 |
最近记录: |