<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Сдвиг массива без цикла for или while]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Сдвиг массива без цикла for или while форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Tue, 07 Apr 2026 02:05:53 +0300</pubDate>
		<item>
			<title>Сдвиг массива без цикла for или while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63067/topic7304/">Сдвиг массива без цикла for или while</a></b> <i>Возможно ли сдвинуть массив без цикла for или while, если количество строк массива может изменяться?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_1YZlZSsz" href="/user/13968/" bx-tooltip-user-id="13968">Айдар</a> написал:<br />Подскажите, пожалуйста, для понимания вот полный код:<br /><br /><br />=============<br />Например так:<br />---------------------------<br />table.remove(t,1) &nbsp; <br />
			<i>27.04.2022 20:12:23, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63067/topic7304/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63067/topic7304/</guid>
			<pubDate>Wed, 27 Apr 2022 20:12:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сдвиг массива без цикла for или while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63066/topic7304/">Сдвиг массива без цикла for или while</a></b> <i>Возможно ли сдвинуть массив без цикла for или while, если количество строк массива может изменяться?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_yUi6pL85" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a>, Нет, вопрос был про сдвиг без цикла. А это либо добавление в конец, либо цикл, но &quot;написанный дядей Васей&quot; внутри этих функций. И кольцевой массив здесь не поможет - это просто очередь (так, например, обрабатываются прерывания от клавиатуры). <br />
			<i>27.04.2022 15:41:26, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63066/topic7304/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63066/topic7304/</guid>
			<pubDate>Wed, 27 Apr 2022 15:41:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сдвиг массива без цикла for или while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63065/topic7304/">Сдвиг массива без цикла for или while</a></b> <i>Возможно ли сдвинуть массив без цикла for или while, если количество строк массива может изменяться?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_eGnYclXJ" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br /><noindex><a href="/user/3132/" target="_blank" rel="nofollow">Nikolay</a></noindex>, Не помогут. :: &nbsp;<br />=============<br /><br />Сдвинуть помогут. Вопрос был про сам сдвиг. Давить в конец, удалить в начале. Как я понимаю задача держать в массиве заданное число элементов.<br />Правда эту задачу можно решить кольцевым массивом, рассчитывая очередное место индекса массива через остаток от деления, например. <br />
			<i>27.04.2022 15:27:08, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63065/topic7304/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63065/topic7304/</guid>
			<pubDate>Wed, 27 Apr 2022 15:27:08 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сдвиг массива без цикла for или while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63064/topic7304/">Сдвиг массива без цикла for или while</a></b> <i>Возможно ли сдвинуть массив без цикла for или while, если количество строк массива может изменяться?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			И очень странная работа с временем. Если необходимо получить разницу времени, то у Вас есть unix-time, простое арифметическое действие даст разницу в секундах.<br />Также время есть и в параметре alltrade - время прошедшей сделки. И да, в этом колбеке выполнять что-то сложное - очень плохо. <br />
			<i>27.04.2022 15:22:21, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63064/topic7304/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63064/topic7304/</guid>
			<pubDate>Wed, 27 Apr 2022 15:22:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сдвиг массива без цикла for или while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63062/topic7304/">Сдвиг массива без цикла for или while</a></b> <i>Возможно ли сдвинуть массив без цикла for или while, если количество строк массива может изменяться?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_DxE9MxSy" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a>, Не помогут. <img src="http://forum.quik.ru/upload/main/smiles/5/icon_smile.png" border="0" data-code=":smile:" data-definition="SD" alt=":smile:" style="width:16px;height:16px;" title="С улыбкой" class="bx-smile" /> &nbsp; <br />
			<i>27.04.2022 15:19:33, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63062/topic7304/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63062/topic7304/</guid>
			<pubDate>Wed, 27 Apr 2022 15:19:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сдвиг массива без цикла for или while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63061/topic7304/">Сдвиг массива без цикла for или while</a></b> <i>Возможно ли сдвинуть массив без цикла for или while, если количество строк массива может изменяться?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_q8HF7jvd" href="/user/13968/" bx-tooltip-user-id="13968">Айдар</a>, Чисто алгоритмически сдвинуть массив без цикла проще простого: это либо вставка элемента либо его удаление. Если массив не отсортирован по какому-либо признаку, то добавлять новый элемент нужно всегда в конец, а при удалении текущего ставить последний элемент на его место и уменьшать размер массива на единицу. Если же требуется поддерживать существующую сортировку, без цикла обойтись невозможно. Точнее, невозможно, если данные организованы именно в виде массива, а не списка - там достаточно поправить нужным образом указатели.<br /><br />Код не смотрел, но глаз сразу зацепился за OnAllTrade. Насколько я помню, это прерывание, причём очень глючное и страшно тормознутое, так что внутри него ваапще ничего делать категорически нельзя (а лучше не использовать вообще). <br />
			<i>27.04.2022 15:16:45, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63061/topic7304/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63061/topic7304/</guid>
			<pubDate>Wed, 27 Apr 2022 15:16:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сдвиг массива без цикла for или while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63060/topic7304/">Сдвиг массива без цикла for или while</a></b> <i>Возможно ли сдвинуть массив без цикла for или while, если количество строк массива может изменяться?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Если это именно массив, то помогут функции table.insert и table.remove <br />
			<i>27.04.2022 15:16:21, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63060/topic7304/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63060/topic7304/</guid>
			<pubDate>Wed, 27 Apr 2022 15:16:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сдвиг массива без цикла for или while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63058/topic7304/">Сдвиг массива без цикла for или while</a></b> <i>Возможно ли сдвинуть массив без цикла for или while, если количество строк массива может изменяться?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_tcKDBLmY" href="/user/13968/" bx-tooltip-user-id="13968">Айдар</a> написал:<br />if max_rows_arr_Price &lt;= 2 then<br />=============<br />if &nbsp;n_rows&lt;=max_rows_arr_Price then<br />поправочка <br />
			<i>27.04.2022 14:54:10, Айдар.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63058/topic7304/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63058/topic7304/</guid>
			<pubDate>Wed, 27 Apr 2022 14:54:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сдвиг массива без цикла for или while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63057/topic7304/">Сдвиг массива без цикла for или while</a></b> <i>Возможно ли сдвинуть массив без цикла for или while, если количество строк массива может изменяться?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_4iPNq1pb" href="/user/13968/" bx-tooltip-user-id="13968">Айдар</a> написал:<br /> if max_rows_arr_Price &lt;= 2 then<br />=============<br /> if max_rows_arr_Price &lt;= max_rows_arr_Price then <br />
			<i>27.04.2022 14:38:30, Айдар.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63057/topic7304/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63057/topic7304/</guid>
			<pubDate>Wed, 27 Apr 2022 14:38:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сдвиг массива без цикла for или while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63056/topic7304/">Сдвиг массива без цикла for или while</a></b> <i>Возможно ли сдвинуть массив без цикла for или while, если количество строк массива может изменяться?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Подскажите, пожалуйста, для понимания вот полный код:<br />time_0=0<br />time_now=0<br />Price={}--массив сумм цен инструмента<br />--всего в массиве пусть для примера будет 5 строк:<br />max_rows_arr_Price=5<br />--в каждой строке массива сохраняется сумма сделок за 30 секунд<br />n_sec=30<br />--счетчик строк<br />n_rows=0		<br />--============================================================<WBR/>&shy;====================================<br />function OnAllTrade(alltrade)																																		<br /> &nbsp; &nbsp; if alltrade.sec_code==instr1 then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;time_now=os.date(&quot;%X&quot;)<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;local t1=os.time(Vremya_v_tablicu(time_now))<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;local t2=os.time(Vremya_v_tablicu(time_0))																																<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if os.difftime(t1,t2)&gt;=n_sec or t1.min~=t2.min or time_0==0 then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;n_rows=n_rows+1<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;time_0=os.date(&quot;%X&quot;)<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if max_rows_arr_Price &lt;= 2 then																																				<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Price&#91;n_rows&#93;=alltrade.price			<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else	<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --!И ВОТ ЗДЕСЬ НУЖНО ПРОПИСАТЬ КОД КАК СДВИНУТЬ МАССИВ НА 1 СТРОКУ ЖЕЛАТЕЛЬНО БЕЗ ЦИКЛА FOR???<br />				<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end<br /> &nbsp; &nbsp; else<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Price&#91;n_rows&#93;=Price&#91;n_rows&#93;+alltrade.price<br /> &nbsp; &nbsp; end<br /> &nbsp; &nbsp; end																																	<br />end																																		<br />--============================================================<WBR/>&shy;====================================																																		<br />--c этой пользовательской функцией мне легче выполнять операции со временем<br />function Vremya_v_tablicu(priem)																																		<br /> &nbsp; &nbsp; priem=tostring(priem)																																	<br /> &nbsp; &nbsp; local otpravka=os.date(&quot;!*t&quot;,os.time())																																	<br /> &nbsp; &nbsp; local len=string.len(priem)																																	<br /> &nbsp; &nbsp; if len&gt;6 then																																	<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;otpravka.hour,otpravka.min,otpravka.sec=string.match(priem,&quot;(%d%d)%p(%d%d)%p(%d%d)&quot;)																																<br /> &nbsp; &nbsp; elseif len==6 then																																	<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;otpravka.hour,otpravka.min,otpravka.sec=string.match(priem,&quot;(%d%d)(%d%d)(%d%d)&quot;)																																<br /> &nbsp; &nbsp; elseif len==5 then																																	<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;otpravka.hour,otpravka.min,otpravka.sec=string.match(priem,&quot;(%d)(%d%d)(%d%d)&quot;)																																<br /> &nbsp; &nbsp; end																																	<br /> &nbsp; &nbsp; return otpravka 																																	<br />end																																										<br />--============================================================<WBR/>&shy;==================================== <br />
			<i>27.04.2022 14:36:24, Айдар.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63056/topic7304/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63056/topic7304/</guid>
			<pubDate>Wed, 27 Apr 2022 14:36:24 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
