lua table.sort
时间: 2024-09-08 07:03:41 浏览: 57
Lua的table库函数insert、remove、concat、sort详细介绍
`table.sort` 是 Lua 语言中一个内置函数,用于对 table 中的元素进行排序。这个函数可以接受一个可选的参数,即一个排序函数,用于定义排序的具体规则。
基本用法如下:
1. 不带排序函数的 `table.sort(t)`:这种情况下,table `t` 中的元素会被按照默认的顺序进行排序,通常默认是按照升序(从小到大)对数值进行排序,对于字符串则是按照字典序(lexicographical order)进行排序。
2. 带排序函数的 `table.sort(t, comp)`:当提供了自定义的排序函数 `comp` 时,`table.sort` 会使用这个函数来决定元素之间的排序顺序。排序函数 `comp` 接受两个参数,当第一个参数应该排在第二个参数之前时,函数返回 `true`;否则返回 `false`。
例如,如果想要按照降序对 table 进行排序,可以传递一个简单的比较函数,该函数比较两个元素的大小关系:
```lua
function compare(a, b)
return a > b
end
table.sort(t, compare)
```
这里 `t` 是需要排序的 table,`compare` 是用户定义的比较函数。
需要注意的是,`table.sort` 会就地修改传入的 table,因此在排序后,原 table 中元素的顺序会被改变。
阅读全文