반응형
키로 루아 테이블 항목을 제거하는 방법은 무엇입니까?
해시 맵, 즉 문자열 키로 사용하는 루아 테이블이 있습니다.
local map = { foo = 1, bar = 2 }
키로 식별되는이 테이블의 요소를 "팝"하고 싶습니다. 거기이다 table.remove()
방법,하지만 그것은 단지 제거 할 요소의 인덱스 (즉, 숫자)이 아닌 일반 키를합니다. 할 수 있기를 원 table.remove(map, 'foo')
하며 여기에 구현 방법이 있습니다.
function table.removekey(table, key)
local element = table[key]
table[key] = nil
return element
end
더 나은 방법이 있습니까?
아니요, 키 값을로 설정하는 nil
것은 테이블의 해시 맵 부분에서 항목을 제거하는 데 허용되는 방법입니다. 당신이하는 일은 표준입니다. 그러나 재정의하지 않는 것이 좋습니다 table.remove()
. 테이블의 배열 부분의 경우 기본 table.remove () 기능에는 재정의가 수행하지 않는 인덱스 번호 재 지정이 포함됩니다. table
함수 세트에 함수를 추가하고 싶다면 아마 비슷한 이름을 붙일 것입니다 table.removekey()
.
참고 URL : https://stackoverflow.com/questions/1758991/how-to-remove-a-lua-table-entry-by-its-key
반응형
'Programing' 카테고리의 다른 글
Visual Studio Code : 파일 변경 자동 새로 고침 (0) | 2020.09.19 |
---|---|
MSDN을 항상 영어로 설정하는 방법 (0) | 2020.09.19 |
std :: get_temporary_buffer가 필요한 이유는 무엇입니까? (0) | 2020.09.19 |
문자 인코딩 문제를 테스트하기위한 "Lorem ipsums"파일 세트가 있습니까? (0) | 2020.09.19 |
지속적 통합에서 여러 분기 처리 (0) | 2020.09.19 |