Господа, мне нужно удалить элементы таблицы. Дайте пожалуйста совет как это лучше сделать.
Вот код:
фунция random_max() выдаёт случайные числа.
Данные лога:
таблица s ДО цикла с удалением:
1=941155680;2=1786453605;3=956870528;4=1765415360;5=1701888568;6=1306467983;7=1934583353;8=1639998291;9=498667592;10=1625028150;
таблица s ПОСЛЕ цикла с удалением:
1=1786453605;2=1765415360;3=1306467983;4=1639998291;5=1625028150;
Кхе-кхе.
Я ждал, что она полностью удалится, но этого не произошло. Более того, элементы сдвинулись.
Объясните пожалуйста почему так происходит и как мне удалять из таблицы нужные мне элементы.
Вот код:
Код |
---|
s={} for i=1,10 do table.insert(s,random_max()) --в будущем вместо рандомных чисел будут номера активных заявок. end toLog(log, s) for i=1,#s do if i>0 then -- Сейчас я написал условие наугад. В будущем будет условие "удалить номер заявки из таблицы s если эта заявка снята или исполнена" table.remove(s,i) end end toLog(log, s) |
Данные лога:
таблица s ДО цикла с удалением:
1=941155680;2=1786453605;3=956870528;4=1765415360;5=1701888568;6=1306467983;7=1934583353;8=1639998291;9=498667592;10=1625028150;
таблица s ПОСЛЕ цикла с удалением:
1=1786453605;2=1765415360;3=1306467983;4=1639998291;5=1625028150;
Кхе-кхе.
Я ждал, что она полностью удалится, но этого не произошло. Более того, элементы сдвинулись.
Объясните пожалуйста почему так происходит и как мне удалять из таблицы нужные мне элементы.