Eu tenho uma tabela lua que uso como um hashmap, ou seja, com chaves de string:
local map = { foo = 1, bar = 2 }
Eu gostaria de "estourar" um elemento desta tabela identificado por sua chave. Existe um table.remove()
método, mas leva apenas o índice do elemento para remover (ou seja, um número) e não uma chave genérica. Eu gostaria de poder fazer table.remove(map, 'foo')
e aqui está como implementei:
function table.removekey(table, key)
local element = table[key]
table[key] = nil
return element
end
Existe uma maneira melhor de fazer isso?