Lua使用table.sort实现多条件排序实例解析精华

以游戏排序需求为例,假如有个表,每个成员含有上次退出游戏时间(在线为-1),战斗力,等级3个变量。

排序需求:1.在线优先于离线 2.战力高优先于战力低 3.等级高优先于等级低 4.离线短优先于离线长

现通过lua table库中的table.sort来实现此需求。

Lua5.3参考手册关于table.sort官方描述:

table.sort()

  • 原型:table.sort (table [, comp])
  • 解释:对一个长度为length=n的数组table排序,也就是对tab_table[1]到tab_table[n]排序,如果参数comp不省略,则它必须是一个函数,可以接收表tab_table的两个元素,并且在第一个元素小于第二个元素时返回true,其他情况返回false,如果省略参数comp,则Lua彼岸准运算符operator <将会被使用。

代码实例:

local player = {}
player[1] = {lastLogout = os.time()-5001, power = 20000, level 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ellis1970

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值