"할 수있는 일은 문자열을"정렬 된 테이블 "의 위치에 매핑하는 도우미 테이블을 만드는 것입니다. 이렇게하면 두 문자열이 다른 문자열보다 먼저 나타나야합니다.
그런 다음이 도우미 테이블을 사용하여 정렬에 대한 비교 함수를 구현할 수 있습니다. 루아에서는 table.sort
에 사용자 지정 비교 함수 인 선택적 매개 변수가 있습니다. 이 비교 함수는 표 (s1
및 s2
)의 값 쌍을 허용해야하며 원하는 순서에 따라 s1 < s2
인 경우 true
을 반환해야합니다.
ordered_table = {"192", "127", "114", "186"}
indexes = {}
for i, s in ipairs(ordered_table) do
indexes[s] = i
end
unordered_table = {"114", "192"}
table.sort(unordered_table, function(s1, s2)
local i1 = assert(indexes[s1])
local i2 = assert(indexes[s2])
return i1 < i2
end)
문자열 값을 number로 전송할 수 없습니다. –