mnn*_*mnn 4 sorting null lua lua-table
我不知道如何处理nils我的sort函数获取.
当我检查它时,table.sort在一些电话后崩溃.
if a == nil then
return false
elseif b == nil then
return true
end
Run Code Online (Sandbox Code Playgroud)
出现此错误:无效的排序功能.但根据文档,sort函数应该返回false,如果a在b之后.否则是真的.
如果我删除删除该代码,它当然会崩溃索引nils.
RBe*_*eig 13
这与nil表中的值很少或没有关系.如果比较函数本身无效,则会生成错误消息.从以下文档table.sort:
如果
comp给定,则它必须是一个接收两个表元素的函数,并在第一个小于第二个时返回true(因此not comp(a[i+1],a[i])在排序后将为真).
换句话说,comp(a,b)必须暗示not comp(b,a).如果此关系不成立,则可能会出现错误"用于排序的无效订单功能".(请注意,在所有情况下都可能不会引发它.)
为了更有帮助,我们真的需要看到传递给整个函数table.sort.