Безопасное удаление элементов из таблицы массива во время итерации
Этот вопрос похож наКак безопасно перебрать таблицу lua во время удаления ключей но заметно отличается.
РезюмеДан массив Lua (таблица с ключами, которые являются последовательными целыми числами, начиная с1
), какие'лучший способ перебрать этот массиви удалить некоторые записи, как они видны?
У меня есть массив записей с метками времени в таблице массива Lua. Записи всегда добавляются в конец массива (используяtable.insert
).
local timestampedEvents = {}
function addEvent( data )
table.insert( timestampedEvents, {getCurrentTime(),data} )
end
Мне нужно время от времени проходить через эту таблицу (по порядку) и обрабатывать и удалять определенные записи:
function processEventsBefore( timestamp )
for i,stamp in ipairs( timestampedEvents ) do
if stamp[1]