У меня есть таблица lua, которую я использую в качестве хэш-карты, то есть со строковыми ключами:
local map = { foo = 1, bar = 2 }
Я бы хотел "вытолкнуть" элемент этой таблицы, идентифицированный его ключом. Существует метод table.remove()
, но для удаления требуется только индекс элемента (т. Е. Число), а не универсальный ключ. Я хотел бы иметь возможность сделать table.remove(map, 'foo')
и вот как я это реализовал:
function table.removekey(table, key)
local element = table[key]
table[key] = nil
return element
end
Есть ли лучший способ сделать это?