在Lua中,当你尝试使用table.sort函数对一个表(table)进行排序时,必须提供一个有效的排序函数。如果排序函数不符合要求,就会遇到“invalid order function for sorting”的错误。下面我将逐步解释这个问题,并提供解决方案。 1. 理解Lua中的排序函数及其用法 Lua的table.sort函数可以对一个表进行原地排序。这个函数接受...
while (lua_rawgeti(L, 1, ++i), sort_comp(L, -1, -2)) { // 未检测边界, i 会一直增加 if (i>=u) luaL_error(L, "invalid order function for sorting"); lua_pop(L, 1); } while (lua_rawgeti(L, 1, --j), sort_comp(L, -3, -1)) { // 未检测边界, j 会一直减少 if ...
使用table.sort时,碰到一个错误:invalid order function for sorting 原因是table.sort的比较函数返回的类型不是boolean 正确使用table.sort的方法: -- 按数字大小降序排序localt={1,10,8,7}table.sort(t,function(a,b)returna-b>0end)-- 按数字大小升序排序table.sort(t,function(a,b)returna-b<0end)...
Lua 自己实现排序sort比较方法,抛出错误invalid order function for sorting 2016-04-06 17:53 −... Ming明、 1 15375 lua的table库 2014-10-23 18:18 −函数列表: table.insert(table,[ pos,] value) table.remove(table[, pos]) table.concat(table[, sep[, i[, j]]]) table.sort(table[,...