Sorting 第二次调用时排序函数无效?
所以我有一个嵌套的表Sorting 第二次调用时排序函数无效?,sorting,lua,love2d,Sorting,Lua,Love2d,所以我有一个嵌套的表 t = { a={},b={},c={},d={}} 等等 每个t项中都有一个名为F(整数)(a.F、b.F等)的值 使用我的排序函数在t上使用lua table.sort()一次: local function sort(a,b) return a.F < b.F end 局部函数排序(a,b) 返回a.F
t = { a={},b={},c={},d={}}
等等
每个t
项中都有一个名为F(整数)(a.F、b.F等)的值
使用我的排序函数在t上使用lua table.sort()
一次:
local function sort(a,b)
return a.F < b.F
end
局部函数排序(a,b)
返回a.F
调用sort一次是可以的,但是如果再次调用它,将抛出无效的排序函数
我不知道为什么会这样,我必须做些什么来修复
信息:
排序的值和项目不是零(我预先断言()以确保)
已解决,这是由于在排序函数中引用了表t中的其他项目并修改了表t中的值。它不喜欢更改函数中的表内容。解决了这个问题,这是因为在排序函数中引用了表t中的其他项,并修改了表t中的值。它不喜欢更改函数中的表格内容。您能发布一个最小的工作示例吗?已解决,这是由于在排序函数中引用了表t中的其他项目并修改了表t中的值。它不喜欢更改函数中的表内容。您能发布一个最小的工作示例吗?已解决,这是由于在排序函数中引用了表t中的其他项目并修改了表t中的值。它不喜欢更改函数中的表内容。