2017-05-04 6 views
1

내부 테이블을 삭제하려는 중첩 테이블 구조가 있습니다.루아의 중첩 테이블 구조에서 테이블을 제거하는 방법

예 :

for k, v in pairs (data) do     
    local element = v 
     for i=1, #element do 
       if (element[i].ttype == "ENUM") then 
       -- Do Something 
       -->Delete it!  
     end 
end 

내가 전무로 설정할 수 있지만, 그것을 '제거'하지 않았다. 나는 그것을 제거하고 나머지 요소를 새로운 색인에 적용시켜야한다. 루아에는 뭔가가 있습니까?

답변

3

목록에 table.remove() 함수를 사용하십시오. 목록 길이가 동적으로 변경되기 때문에 루프 내부에서주의하십시오. 아마도 수동으로 nil을 확인하거나 while 루프를 사용해야 할 것입니다.

여기를 참조하십시오 : https://www.lua.org/manual/5.3/manual.html#pdf-table.remove

+0

이 그래서 table.remove 것 (요소 [I], I)? – Theodor

+1

'table.remove (element, i)' – tonypdmtr