Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 第二次调用时排序函数无效?_Sorting_Lua_Love2d - Fatal编程技术网

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中的值。它不喜欢更改函数中的表内容。