J'ai une table lua que j'utilise comme hashmap, c'est à dire avec des clés de chaîne:
local map = { foo = 1, bar = 2 }
Je voudrais "pop" un élément de cette table identifié par sa clé. Il existe une table.remove()
méthode, mais elle ne prend que l'index de l'élément à supprimer (c'est-à-dire un nombre) et non une clé générique. J'aimerais pouvoir le faire table.remove(map, 'foo')
et voici comment je l'ai implémenté:
function table.removekey(table, key)
local element = table[key]
table[key] = nil
return element
end
Y a-t-il une meilleure façon de faire cela?