Mam tabeli lua że używam jako hashmap, tj kluczy wyrażenie:Jak usunąć wpis tablicy lua za pomocą klucza?
local map = { foo = 1, bar = 2 }
chciałbym „pop” elementem tej tabeli identyfikowanej przez jej klucz. Istnieje metoda table.remove()
, ale usuwa ona tylko indeks elementu (tj. Liczbę), a nie klucz ogólny. Chciałbym móc zrobić table.remove(map, 'foo')
i oto jak I wdrożone go:
function table.removekey(table, key)
local element = table[key]
table[key] = nil
return element
end
Czy istnieje lepszy sposób to zrobić?
+1 do bardzo przydatnego pytania, ponieważ dałeś "odpowiedź", której potrzebowałem; nawet jeśli nie ma "lepszej" drogi. –