2016-07-12 4 views
1

그래서 나는두 번째 통화에서 정렬 기능이 잘못 되었습니까?

t = { a={},b={},c={},d={}} 

.. 등 중첩 테이블을 가지고 t의 각 항목은 내 정렬 기능을 한 번 t에 lua table.sort()를 사용 F(integer) (a.F, b.F etc)

이름에 값이

:

local function sort(a,b) 
    return a.F < b.F 
end 

한 번 정렬을 호출해도 문제가 없지만 다시 호출하면 잘못된 순서 func이 throw됩니다. 정렬을위한

왜 이것이 그렇게하고 수정해야하는지 잘 모르겠습니다.

정보 : 정렬

값과 상품 닐 (i assert() beforehand to make sure)

+1

최소 작동 예제를 게시 할 수 있습니까? – pschulz

+0

해결 된 것은 테이블 t의 다른 항목에 대한 일부 참조 및 정렬 기능에서 테이블 t의 값 수정 때문이었습니다. 그것은 함수 내에서 테이블 내용을 변경하는 것을 좋아하지 않았습니다. –

답변

0

해결하지은, 상기 정렬 함수 테이블 t의 값에 다른 테이블 t 항목 및 변형 일부 기준 때문 . 그것은 함수 내에서 테이블 내용을 변경하는 것을 좋아하지 않았습니다.