Ich habe eine lua-Tabelle, die ich als hashmap verwenden, dh mit String-Schlüsseln:Wie entferne ich einen Lua-Tabelleneintrag mit seinem Schlüssel?
local map = { foo = 1, bar = 2 }
ich zu „Pop“ ein Element dieser Tabelle durch seinen Schlüssel identifiziert möchte. Es gibt eine table.remove()
Methode, aber es braucht nur den Index des zu entfernenden Elements (dh eine Zahl) und nicht einen generischen Schlüssel. Ich möchte in der Lage sein table.remove(map, 'foo')
zu tun, und hier ist, wie ich es umgesetzt:
function table.removekey(table, key)
local element = table[key]
table[key] = nil
return element
end
Gibt es einen besseren Weg, dies zu tun?
+1 zu der sehr nützlichen Frage, weil Sie die "Antwort" gaben, die ich brauchte; auch wenn es keinen "besseren" Weg gibt. –