Это так же просто, как
items[789] = nil
В Lua, если ключ в таблице имеет значение nil
, значит, ключ не существует.
> t = { [5] = {}, [10] = {} }
> for k,v in pairs(t) do print(k,v) end
5 table: 0037CBC0
10 table: 0037CBE8
> t[5] = nil
> for k,v in pairs(t) do print(k,v) end
10 table: 0037CBE8
См. Также Progamming в Lua, раздел 2.5 . (Хотя онлайн-версия написана для Lua 5.0, это все равно относится к Lua 5.1)
... вы можете назначить nil для поля таблицы, чтобы удалить его.
Когда вы присваиваете nil
своему индексу, это не явно удаляет то, что ранее было сохранено в этом индексе; но он уменьшает количество ссылок для того, что там хранилось, что потенциально делает его пригодным для сбора мусора.