<?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>Mon, 27 Apr 2026 17:36:11 +0300</pubDate>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1560/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			15 миллисекунд - это интервал обновления времени в операционной системе? <br />
			<i>27.02.2015 23:06:37, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1560/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1560/topic199/</guid>
			<pubDate>Fri, 27 Feb 2015 23:06:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1532/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Хотя, наверное, не так. Учитывая, что при вычислении интервала времени между двумя событиями необходимо два измерения, то погрешность может составлять до 30 мс. <br />
			<i>27.02.2015 14:01:50, Серж.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1532/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1532/topic199/</guid>
			<pubDate>Fri, 27 Feb 2015 14:01:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1531/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Zrtd9bUV" href="/user/114/" bx-tooltip-user-id="114">Дмитрий</a> пишет: <br />И насколько сильно варьируются (в разы или все же разницу можно измерять процентами)?<br /><br />=============<br />А это зависит от величины измеряемого интервала времени. Если не ошибаюсь, погрешность измерения os.clock() может быть от 0.5 до 15 мс. <br />
			<i>27.02.2015 13:54:15, Серж.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1531/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1531/topic199/</guid>
			<pubDate>Fri, 27 Feb 2015 13:54:15 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1524/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_sVucN6QM" href="/user/137/" bx-tooltip-user-id="137">sam063rus</a> пишет: <br />показания на основе os.clock - каждый раз, разные и сильно варьируются.<br /><br />=============<br />А почему так происходит?<br />И насколько сильно варьируются (в разы или все же разницу можно измерять процентами)? <br />
			<i>27.02.2015 12:18:08, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1524/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1524/topic199/</guid>
			<pubDate>Fri, 27 Feb 2015 12:18:08 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1456/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_oOBW54Vx" href="/user/47/" bx-tooltip-user-id="47">s_mike@rambler.ru</a> пишет: <br />Если у первой таблицы нет метаметодов.<br /><br />=============<br />Таких слов я еще не знаю, так что наверняка нет &nbsp;:D <br />
			<i>26.02.2015 13:08:41, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1456/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1456/topic199/</guid>
			<pubDate>Thu, 26 Feb 2015 13:08:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1451/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_w113BmBx" href="/user/21/" bx-tooltip-user-id="21">Michael Bulychev</a> пишет: <br />Да, позволит.<br /><br />=============<br />Если у первой таблицы нет метаметодов. <br />
			<i>26.02.2015 12:54:53, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1451/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1451/topic199/</guid>
			<pubDate>Thu, 26 Feb 2015 12:54:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1448/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Да, позволит. <br />
			<i>26.02.2015 12:28:06, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1448/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1448/topic199/</guid>
			<pubDate>Thu, 26 Feb 2015 12:28:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1447/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			А приведенный мною код позволит получить из таблицы test_table таблицу test_table1 ?<br /><br />
====code====
<pre>test_table1 = {}
for k, v in pairs(test_table) do
&nbsp;&nbsp;test_table1&#91;v&#93; = true
end
 </pre>
============= <br />
			<i>26.02.2015 12:16:58, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1447/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1447/topic199/</guid>
			<pubDate>Thu, 26 Feb 2015 12:16:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1445/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Эти примеры я привел к тому, что не всегда более длинный код работает медленнее. А пример с test_table1 показывает что заранее продуманный способ хранения данных позволяет выиграть и в размере кода и в скорости работы.<br />Если у Вас стоит задача в таблице сохранять строки а затем проверять их наличие, то третий способ самый оптимальный. Используйте строки в качестве ключа таблицы. Это дает максимальную скорость при минимальном количестве кода. <br />
			<i>26.02.2015 12:10:45, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1445/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1445/topic199/</guid>
			<pubDate>Thu, 26 Feb 2015 12:10:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1441/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<noindex><a href="http://forum.quik.ru/user/21/" target="_blank" rel="nofollow">Michael Bulychev</a></noindex>, спасибо за примеры!<br />Ваши function check1(t, str) и function check3(t, str) замечательны тем, что их даже не обязательно оформлять в виде отдельных функций, а операторы из них можно непосредственно использовать в нужном месте основной программы.<br /><br />Вот только не очень понял про таблицу test_table1={&#91;&quot;qwe&quot;&#93;=true, &#91;&quot;1qweasd&quot;&#93;=true, &#91;&quot;zxc&quot;&#93;=true} Здесь значения строк используются в качестве индексов элементов таблицы?<br />Если так, то можно вместо набора столь мудреной конструкции вручную получить эту таблицу из test_table следующим образом?<br /><br />
====code====
<pre>test_table1 = {}
for k, v in pairs(test_table) do
&nbsp;&nbsp;test_table1&#91;v&#93; = true
end
 </pre>
============= <br />
			<i>26.02.2015 11:39:17, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1441/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1441/topic199/</guid>
			<pubDate>Thu, 26 Feb 2015 11:39:17 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1437/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В данном примере это не критично. <br />
			<i>26.02.2015 09:25:07, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1437/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1437/topic199/</guid>
			<pubDate>Thu, 26 Feb 2015 09:25:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1436/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			а то Вы не понимаете?... )))<br /><br />показания на основе os.clock - каждый раз, разные и сильно варьируются. <br />
			<i>26.02.2015 09:10:37, sam063rus.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1436/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1436/topic199/</guid>
			<pubDate>Thu, 26 Feb 2015 09:10:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1435/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_qJd87mLG" href="/user/137/" bx-tooltip-user-id="137">sam063rus</a> пишет: <br /><br />====quote====<br /> Michael Bulychev пишет: <br />os.clock()<br /><br />=============<br />насколько корректны показания этого os.clock? Михаил, уж Вы-то, постеснялись бы по нему показания сверять))))<br /><br />=============<br />Добрый день.<br />Вы сейчас о чем? <br />
			<i>26.02.2015 09:06:02, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1435/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1435/topic199/</guid>
			<pubDate>Thu, 26 Feb 2015 09:06:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1434/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_lzBse01v" href="/user/21/" bx-tooltip-user-id="21">Michael Bulychev</a> пишет: <br />os.clock()<br /><br />=============<br />насколько корректны показания этого os.clock? Михаил, уж Вы-то, постеснялись бы по нему показания сверять)))) <br />
			<i>26.02.2015 08:58:44, sam063rus.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1434/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1434/topic199/</guid>
			<pubDate>Thu, 26 Feb 2015 08:58:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1433/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_xGCpEQDp" href="/user/114/" bx-tooltip-user-id="114">Дмитрий</a> пишет: <br />Тут стоит вопрос не об оптимизации скорости работы скрипта, а о минимизации и упрощении его текста.<br />Ну и по работе со строками как таковыми мне все более-менее понятно, а вот о средствах Lua для поиска среди элементов таблицы я пока мало что знаю (кроме тупого перебора их в цикле).<br /><br />=============<br />Во многом это зависит от используемых алгоритмов обработки и хранения данных. В каждом случае можно придумать вариант оптимальный по скорости работы и объему кода.<br /><br />
====code====
<pre>test_table={"qwe", "1qweasd", "zxc"}
test_table1={&#91;"qwe"&#93;=true, &#91;"1qweasd"&#93;=true, &#91;"zxc"&#93;=true}
str = "1qweasd"

function check1(t, str)
&nbsp;&nbsp;return (string.find("|"..table.concat(t,"|").."|", "|"..str .. "|") ~=nil)
end

function check2(t, str)
&nbsp;&nbsp;for k, v in pairs(t) do
&nbsp;&nbsp;&nbsp;&nbsp;if v == str then return true end
&nbsp;&nbsp;end
&nbsp;&nbsp;return false
end

function check3(t, str)
&nbsp;&nbsp;return (t&#91;str&#93; or false)
end
max_count=1000000
_s=os.clock()
for i=1, max_count do
&nbsp;&nbsp;res = check1(test_table, str)
end
_e = os.clock()
print("check1 took "..tostring(_e-_s))
_s=os.clock()
for i=1, max_count do
&nbsp;&nbsp;res = check2(test_table, str)
end
_e = os.clock()
print("check2 took "..tostring(_e-_s))

_s=os.clock()
for i=1, max_count do
&nbsp;&nbsp;res = check3(test_table1, str)
end
_e = os.clock()
print("check3 took "..tostring(_e-_s))&nbsp;&nbsp; 
--&#91;&#91; 
check1 took 0.752
check2 took 0.261
check3 took 0.116 
--&#93;&#93; </pre>
============= <br />
			<i>26.02.2015 08:54:19, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1433/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1433/topic199/</guid>
			<pubDate>Thu, 26 Feb 2015 08:54:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1422/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Понятно. Спасибо, что избавили от необходимости тратить время на поиски в документации того, чего не существует :) <br />
			<i>25.02.2015 20:55:12, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1422/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1422/topic199/</guid>
			<pubDate>Wed, 25 Feb 2015 20:55:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1421/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<noindex><a href="http://forum.quik.ru/user/114/" target="_blank" rel="nofollow">Дмитрий</a></noindex>,<br />В чистом луа таких средств нет.<br />Для упрощения текста оформите функции поиска элементов в таблице в виде модуля<br /> или найдите готовый модуль. <br />
			<i>25.02.2015 20:17:14, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1421/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1421/topic199/</guid>
			<pubDate>Wed, 25 Feb 2015 20:17:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1420/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Тут стоит вопрос не об оптимизации скорости работы скрипта, а о минимизации и упрощении его текста.<br />Ну и по работе со строками как таковыми мне все более-менее понятно, а вот о средствах Lua для поиска среди элементов таблицы я пока мало что знаю (кроме тупого перебора их в цикле). <br />
			<i>25.02.2015 19:48:32, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1420/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1420/topic199/</guid>
			<pubDate>Wed, 25 Feb 2015 19:48:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1419/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			во всех алгоритмах идёт сравнение побайтно, в более современных - сравнение с хешем, есть реализации с C++ STL, правда в силу своей специфичности и того, что его "ляпают" все и везде где не попало - в большинстве своём, невсегда удачные. <br />
			<i>25.02.2015 19:34:33, sam063rus.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1419/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1419/topic199/</guid>
			<pubDate>Wed, 25 Feb 2015 19:34:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1418/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			даже если не использовать циклы в самом скрипте - это не значит, что они (циклы) не будут использованы в движке LUA. Так что тут гадать и выдумывать не стоит. Для начала, вот ссылка на работу со строками в LUA: <noindex><a href="http://lua-users.org/wiki/StringLibraryTutorial" target="_blank" rel="nofollow">http://lua-users.org/wiki/StringLibraryTutorial</a></noindex> <br />
			<i>25.02.2015 19:30:31, sam063rus.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1418/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1418/topic199/</guid>
			<pubDate>Wed, 25 Feb 2015 19:30:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск элемента в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1417/topic199/">Поиск элемента в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день!<br />В скрипте используется таблица Tab, каждый элемент которой является строкой.<br />Есть также отдельная переменная S, значение которой также является строкой.<br />Существует ли в Lua простой способ проверить наличие или отсутствие в таблице Tab элемента, значение которого равно значению переменной S ?<br />То есть способ сделать это без использования оператора цикла с проверкой каждого отдельного элемента таблицы. <br />
			<i>25.02.2015 17:39:07, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1417/topic199/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1417/topic199/</guid>
			<pubDate>Wed, 25 Feb 2015 17:39:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
