<?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>Wed, 29 Apr 2026 05:20:31 +0300</pubDate>
		<item>
			<title>Таблицы в функции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64704/topic7531/">Таблицы в функции</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_zvgGpd7n" href="/user/15624/" bx-tooltip-user-id="15624">Станислав</a>, Убей, не пойму, что Вам нужно. Передавайте хоть таблицу: Algo(S), хоть её поля: Algo(S.Pos, S.MIDDLE_PRICE) - всё должно работать. Лично у меня вообще одна глобальная &quot;супертаблица&quot;, и в функции я передаю только имена полей, которые, к тому же, всегда представлены как числовые индексы. Вот, например, есть у меня такая функция Y(i,j,k,l), она переносит k-ю взятку из массива j-го таймфрейма i-го тикера в массив l-го таймфрейма того же тикера. Передаются тупо 4 числа, а сама таблица a не передаётся - она глобальная. А уже внутри функции эти числа интерпретируются как индексы соответствующих полей этой таблицы. В частности, в лог пишется (точнее, писалось, когда я это дело отлаживал):<br />F:write(ST()..&quot;Перенос &quot;..a&#91;i&#93;&#91;0&#93;&#91;1&#93;..&quot; из &quot;..j..&quot; в &quot;..l..&quot; сделки &quot;..k..&quot; лотов &quot;..a&#91;i&#93;&#91;4&#93;&#91;j&#93;&#91;k&#93;..&quot; по &quot;..a&#91;i&#93;&#91;4&#93;&#91;j&#93;&#91;k+1&#93;..&quot;\n&quot;);<br />И нет проблем! Универсальность выше крыши - переносится любая взятка любого тикера из любого таймфрейма в любой, передача параметров - проще не придумаешь, надёжность тоже вполне приличная, хотя даже здесь эта антиллехтуальная придурь со своей долбаной динамической типизацией умудряется поднасрать, заменяя натуральные числа вещественными, именно в этой функции мне пришлось вставить первой командой: j=tonumber(string.format(&quot;%1.0f&quot;,j)); о чём я недавно писал. Зачем искать на свою задницу приключений? <br />
			<i>30.07.2022 10:30:46, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64704/topic7531/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64704/topic7531/</guid>
			<pubDate>Sat, 30 Jul 2022 10:30:46 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Таблицы в функции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64703/topic7531/">Таблицы в функции</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_8EpQ0lyo" href="/user/15624/" bx-tooltip-user-id="15624">Станислав</a> написал:<br /> А иначе придется эту функцию несколько раз копировать<br />=============<br />Ее не обязвтельно копировать, достаточно загрузить ее в разные переменные <br />
			<i>30.07.2022 09:21:05, Евгений.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64703/topic7531/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64703/topic7531/</guid>
			<pubDate>Sat, 30 Jul 2022 09:21:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Таблицы в функции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64700/topic7531/">Таблицы в функции</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Так и передавайте несколько параметров, кто мешает. Это не Питон, именованных параметров нет. <br />
			<i>29.07.2022 19:21:36, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64700/topic7531/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64700/topic7531/</guid>
			<pubDate>Fri, 29 Jul 2022 19:21:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Таблицы в функции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64699/topic7531/">Таблицы в функции</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вы правы, когда делаешь так:
====code====
<pre>local function Algo(S)

local pos = S.POS
local mp = S.MIDDLE_PRICE

end</pre>
=============
то все замечательно работает, но тогда универсальность функции теряется. Мне нужно, чтобы в эту функцию можно было передавать и другие таблицы. А иначе придется эту функцию несколько раз копировать <br />
			<i>29.07.2022 18:41:29, Станислав.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64699/topic7531/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64699/topic7531/</guid>
			<pubDate>Fri, 29 Jul 2022 18:41:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Таблицы в функции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64698/topic7531/">Таблицы в функции</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Можно, конечно. Только важно помнить, что она передается по ссылке.<br /><br />Только сигнатура функции должна быть<br /><br />
====code====
<pre>Algo(S, Pos, MIDDLE_PRICE)</pre>
=============
<br />А еще лучше, раз таблица передается, только ее и передать.<br />
====code====
<pre>local function Algo(S)

local pos = S.POS
local mp = S.MIDDLE_PRICE

end</pre>
============= <br />
			<i>29.07.2022 18:37:16, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64698/topic7531/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64698/topic7531/</guid>
			<pubDate>Fri, 29 Jul 2022 18:37:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Таблицы в функции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64697/topic7531/">Таблицы в функции</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			У меня еще вопрос, можно ли таблицу передавать в функцию, как переменную? Она в строковое значение не переведится ли? Может у меня из-за этого ошибка? Он же ругается, что ждет таблицу, а получает переменную.<br /><br />А вот с этим &nbsp;S = {}............S = &#39;lalalla&#39; все в порядке <br />
			<i>29.07.2022 18:25:20, Станислав.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64697/topic7531/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64697/topic7531/</guid>
			<pubDate>Fri, 29 Jul 2022 18:25:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Таблицы в функции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64696/topic7531/">Таблицы в функции</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ну так и таблицы не видно
====code====
<pre>
S&nbsp;&nbsp;= 0</pre>
=============
<br />Но если она все же есть, то проверяйте, что нигде она не переопределяется. Работая с глобальными переменными, легко выстрелить себе с ногу.<br /><br />
====code====
<pre>S = {}............S = 'lalalla'</pre>
=============
<br />Все, нет таблицы. <br />
			<i>29.07.2022 18:20:56, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64696/topic7531/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64696/topic7531/</guid>
			<pubDate>Fri, 29 Jul 2022 18:20:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Таблицы в функции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64695/topic7531/">Таблицы в функции</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вызываю вот так:
====code====
<pre>Algo(S, S.Pos, S.MIDDLE_PRICE)</pre>
============= <br />
			<i>29.07.2022 18:16:37, Станислав.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64695/topic7531/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64695/topic7531/</guid>
			<pubDate>Fri, 29 Jul 2022 18:16:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Таблицы в функции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64694/topic7531/">Таблицы в функции</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			А где здесь вызов функции с передачей параметров? <br />
			<i>29.07.2022 18:14:33, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64694/topic7531/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64694/topic7531/</guid>
			<pubDate>Fri, 29 Jul 2022 18:14:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Таблицы в функции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64693/topic7531/">Таблицы в функции</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			И некая функция:
====code====
<pre>function Algo(s, sPos, sMIDDLE_PRICE)


end
</pre>
=============
Почему, когда я передаю таблицу в качестве параметров функции, функция не работает и выдает сообщение, функция ждет таблицу, а получает строковые данные? <br />
			<i>29.07.2022 18:12:20, Станислав.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64693/topic7531/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64693/topic7531/</guid>
			<pubDate>Fri, 29 Jul 2022 18:12:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Таблицы в функции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64692/topic7531/">Таблицы в функции</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравстуйте, имеется таблица:
====code====
<pre>S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
S.POS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
S.MIDDLE_PRICE&nbsp;&nbsp;&nbsp;&nbsp; = 0&nbsp;&nbsp; 
</pre>
============= <br />
			<i>29.07.2022 18:08:52, Станислав.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64692/topic7531/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64692/topic7531/</guid>
			<pubDate>Fri, 29 Jul 2022 18:08:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
