Ho una tabella lua che uso come hashmap, cioè con chiavi stringa:
local map = { foo = 1, bar = 2 }
Vorrei "pop" un elemento di questa tabella identificato dalla sua chiave. Esiste un table.remove()
metodo, ma richiede solo l'indice dell'elemento da rimuovere (cioè un numero) e non una chiave generica. Vorrei poterlo fare table.remove(map, 'foo')
ed ecco come l'ho implementato:
function table.removekey(table, key)
local element = table[key]
table[key] = nil
return element
end
C'è un modo migliore per farlo?