2009-12-01 4 views

답변

7

그것은 테이블의 키가 nil 값이있는 경우, 다음 키가 존재하지 않는 것처럼있어, 쉽게 루아에서

items[789] = nil 

으로합니다.
> t = { [5] = {}, [10] = {} } 
> for k,v in pairs(t) do print(k,v) end 
5  table: 0037CBC0 
10  table: 0037CBE8 
> t[5] = nil 
> for k,v in pairs(t) do print(k,v) end 
10  table: 0037CBE8 

Progamming in Lua, section 2.5 참조하십시오. (온라인 버전이 Lua 5.0 용으로 작성된 경우에도 여전히 Lua 5.1에 적용됩니다.)

... 테이블 필드에 nil을 지정하여 삭제할 수 있습니다. 당신이하지 명시 적으로 이전에 해당 인덱스에 저장된 것을이 삭제 색인에 nil를 할당

; 잠재적으로 가비지 콜렉션의 대상이 될 수 있도록 거기에 저장된 것에 대한 참조 카운트를 낮 춥니 다.

+0

와우, 덕분에 행운이없이 12 가지 방법을 시도해 보았습니다. :) – Rob

+2

이전에 변수를 삭제하기 위해 재 할당을 사용하는 가비지 수집 언어를 사용하지 않았다면, 'nil'은 누구나 처음 추측 할 수 있습니다. 어쨌든, 오신 것을 환영합니다. –