У мене є таблиця 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
Чи є кращий спосіб це зробити?