0
내가 가지고 있다고 가정 해 봅시다.루아에서는 객체가 저장되어있는 키를 찾는 방법
local RockTable = {}
그리고 나서 20 개의 암석을 생성하고이를 RockTable에 저장하는 for 루프.
table.remove(RockTable, ???)
을 사용하여 원하는 특정 바위를 제거하려면 어떻게해야합니까?
Lua의 테이블에서 개체를 제거 할 때 나머지 개체는 인덱스 수를 변경하여 앞으로 이동합니다.
잘 설명해 주셨으면합니다.
도움을 주시면 감사하겠습니다.
바위가 3 개인 경우 색인은 1,2,3입니다. 인덱스 2를 제거하면 록 3의 인덱스가 2로 변경되거나 3으로 유지됩니까? – Rico3D
@ Rico3D : 예, 변경됩니다. 그것이 "테이블의 배열 부분"이라고 불리는 이유입니다. 배열에 빈 요소가 없습니다. 배열처럼 작동하지 않으려면 거기에'nil '을 지정해야합니다. 그러나 길이와 다른 배열과 같은 기능을 작동시키지 않을 것입니다. –
바위의 색인을 어떻게 인쇄()하거나 알아 내겠습니까? 예를 들어, 화면에 배열 된 20 개의 무작위 바위를 배열 파트에 스폰 한 경우,이 RockTable [#RockTable + 1] = rock; 은 어떻게 색인에 액세스합니까? 나는'print (rock.index)'를 시도하고'nil '이 나왔다. 제 의견에 사과하고, 해결책을 찾지 못한 채 미친 듯이 끈적 거 렸습니다. – Rico3D