I have a lua table that I use as a hashmap, ie with string keys :
local map = { foo = 1, bar = 2 }
I would like to "pop" an element of this table identified by its key. There is a table.remove()
method, but it only takes the index of the element to remove (ie a number) and not a generic key. I would like to be able to do table.remove(map, 'foo')
and here is how I implemented it :
function table.remove(table, key)
local element = table[key]
table[key] = nil
return element
end
Is there a better way to do that ?