<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Удаление элементов таблицы]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Удаление элементов таблицы форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 03 May 2026 05:26:45 +0300</pubDate>
		<item>
			<title>Удаление элементов таблицы</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message27722/topic3218/">Удаление элементов таблицы</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добавьте print(i,#s) в цикл удаления и увидите:<br /><table class="forum-spoiler"><thead onclick="if (this.nextSibling.style.display=='none') { this.nextSibling.style.display=''; BX.addClass(this, 'forum-spoiler-head-open'); } else { this.nextSibling.style.display='none'; BX.removeClass(this, 'forum-spoiler-head-open'); } BX.onCustomEvent('BX.Forum.Spoiler:toggle', [{node: this}]); event.stopPropagation();"><tr><th><div>Скрытый текст</div></th></tr></thead><tbody class="forum-spoiler" style="display:none;"><tr><td><br />1 &nbsp; 10<br />2 &nbsp; 9<br />3 &nbsp; 8<br />4 &nbsp; 7<br />5 &nbsp; 6<br />6 &nbsp; 5<br />7 &nbsp; 5<br />8 &nbsp; 5<br />9 &nbsp; 5<br />10 &nbsp;5</td></tr></tbody></table>В мануале к table.remove написано, что он удаляет нужный, сдвигая остальные, или последний элемент.<br />В вашем случае надо делать или table.remove(s) или table.remove(s,1), чтобы удалять или с начала, или с конца, или следить, чтобы индекс был меньше размера таблицы.<br /><br />ПС. Возможно, Вам будет профитнее использовать таблицу, индексированную не по-умолчанию i=1..N, а ключами - номерами заявок. Т.е.:<br />s = { }<br />s[order.order_num] = 1 or order or true<br />Тогда не будет головняков с удалением, за исключением того, что надо точно знать номер удаляемой заявки, чтобы её удалить с помощью s[order_num] = nil <br />
			<i>16.11.2017 06:53:00, vgi.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message27722/topic3218/</link>
			<guid>http://forum.quik.ru/messages/forum10/message27722/topic3218/</guid>
			<pubDate>Thu, 16 Nov 2017 06:53:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Удаление элементов таблицы</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message27717/topic3218/">Удаление элементов таблицы</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Господа, мне нужно удалить элементы таблицы. Дайте пожалуйста совет как это лучше сделать.<br />Вот код:<br />
====code====
<pre>s={}
for i=1,10 do
&nbsp;&nbsp;&nbsp;table.insert(s,random_max()) --в будущем вместо рандомных чисел будут номера активных заявок.
end

toLog(log, s)

for i=1,#s do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if i&#62;0 then -- Сейчас я написал условие наугад. В будущем будет условие "удалить номер заявки из таблицы s если эта заявка снята или исполнена"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; table.remove(s,i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
end

toLog(log, s)</pre>
=============
фунция random_max() выдаёт случайные числа.<br />Данные лога:<br />таблица s ДО цикла с удалением:<br />1=941155680;2=1786453605;3=956870528;4=1765415360;5=1701888568;6=1306467983;7=1934583353;8=1639998291;9=498667592;10=1625028150;<br /><br />таблица s ПОСЛЕ цикла с удалением:<br />1=1786453605;2=1765415360;3=1306467983;4=1639998291;5=1625028150;<br /><br />Кхе-кхе.<br />Я ждал, что она полностью удалится, но этого не произошло. Более того, элементы сдвинулись.<br />Объясните пожалуйста почему так происходит и как мне удалять из таблицы нужные мне элементы. <br />
			<i>16.11.2017 00:10:53, Let_it_go.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message27717/topic3218/</link>
			<guid>http://forum.quik.ru/messages/forum10/message27717/topic3218/</guid>
			<pubDate>Thu, 16 Nov 2017 00:10:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
