Lua排序表

我对Lua一无所知,但我成功地修改了我想要的脚本。然而,我在对表进行排序时遇到了问题。

我找到了表实用工具(将表转换为字符串),下面是我的表:

{{line="(Golden Aura) Challenging An owl would be either very brave or very stupid.",range="(+16 to +21)",message="(Golden Aura) Challenging An owl would be either very brave or very stupid.",colour="crimson",srt=9,keyword="owl",name="An owl"},
{line="(Golden Aura) A busy squirrel chuckles at the thought of you fighting him.",range="(+3 to +8)",message="(Golden Aura) A busy squirrel chuckles at the thought of you fighting him.",colour="gold",srt=7,keyword="squirrel",name="(Golden Aura) A busy squirrel"},
{line="(Red Aura) A parakeet should be a fair fight!",range="(-2 to +2)",message="(Red Aura) A parakeet should be a fair fight!",colour="springgreen",srt=5,keyword="parakeet",name="(Red Aura) A parakeet"},
{line="(Golden Aura) Challenging A cat would be either very brave or very stupid.",range="(+16 to +21)",message="(Golden Aura) Challenging A cat would be either very brave or very stupid.",colour="crimson",srt=9,keyword="cat",name="A cat"}}

我已经添加了srt键,并希望按照它对表进行排序。请问有人可以告诉我如何做到这一点吗?

点赞
用户444708
用户444708
`table.sort( table:t [, function( left, right ):sorting function ] )`

因此,如果你想按 `v.srt`排序,你可以这样做:

table.sort( t, function( a, b ) return a.srt < b.srt end )

for k, v in pairs( t ) do print( v.srt, v.name ) end

```

这应该会按升序排序,然后显示它们。

2013-07-25 11:37:14