<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Кривые шибки в QLua]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Кривые шибки в QLua форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 14:11:37 +0300</pubDate>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68577/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_6rdNDUiL" href="/user/62/" bx-tooltip-user-id="62">nikolz</a>,А если учитывать, то это лучшее доказательство, что алгоритм есть полное и абсолютное дерьмо. <br />
			<i>10.03.2023 09:12:56, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68577/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68577/topic5823/</guid>
			<pubDate>Fri, 10 Mar 2023 09:12:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68562/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_FJiYYEy9" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />В итоге тест работал 4 часа<br />=============<br /> 4 часа - это не срок. У меня скрипты годами (!) работают, но иногда вылазят ошибки, описанные в данном треде. Многие ошибки даже за неделю непрерывных нагрузочных тестов нереально воспроизвести.<br />=============<br /><B>е</B><B>сли не учитыват</B><B>ь,</B> что <B>за 4 часа колбеки вызывались 4 миллиона раз и было выставлено и снято 500 тысяч заявок.</B> <br /> &nbsp; <br />
			<i>08.03.2023 18:05:44, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68562/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68562/topic5823/</guid>
			<pubDate>Wed, 08 Mar 2023 18:05:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68561/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_K7Jobhpr" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />getClassSecurities<br />=============<br />То что список некорректный в сообщении указано. А то что входящий параметр в функции getClassSecurities не проверяется тоже очевидно из-за молчаливого падения терминала. Собственно сообщение о падении терминала, а не о работе самой функции. Хотелось бы видеть в методах qlua возвращаемое значение. А если что-то не так, то nil, например, и вторым параметром уже описание - &quot;сам дурак, что на вход передаешь&quot;. Сейчас же, случайно переедал не то и привет... И приходится каждый метод qlua оборачивать в свой assert. <br />
			<i>08.03.2023 17:00:32, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68561/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68561/topic5823/</guid>
			<pubDate>Wed, 08 Mar 2023 17:00:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68559/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7z7ms0VZ" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a> написал:<br />Это строка приводит к падению терминала (10.1.2.2): 
====code====
<pre>&nbsp;&nbsp; local&nbsp;&nbsp;sec_list&nbsp;&nbsp;=&nbsp;&nbsp; getClassSecurities ( 'TQOD|TQOB|TQTD|TQTF|EQEO|EQOB|EQDB|SPBBND|SPBXM|QJSIM|TQBR|FQBR|SPBFUT|CETS' )&nbsp;&nbsp;</pre>
=============
 <br />Да, есть ошибка в передаваемом параметре, но, кажется, это не должно приводить к падению. Есть ощущение, что просто нет unit тестов методов qlua...<br />=============<br />А не чо, что вместо &nbsp;разделителя &quot;,&quot; &nbsp;Вы используете &nbsp;&quot;|&quot; ?<br />и в конце нет &quot;,&quot; <br />
			<i>08.03.2023 14:19:48, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68559/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68559/topic5823/</guid>
			<pubDate>Wed, 08 Mar 2023 14:19:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68558/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Это строка приводит к падению терминала (10.1.2.2):
====code====
<pre>local sec_list = getClassSecurities('TQOD|TQOB|TQTD|TQTF|EQEO|EQOB|EQDB|SPBBND|SPBXM|QJSIM|TQBR|FQBR|SPBFUT|CETS')</pre>
=============
<br />Да, есть ошибка в передаваемом параметре, но, кажется, это не должно приводить к падению. Есть ощущение, что просто нет unit тестов методов qlua... <br />
			<i>08.03.2023 12:24:14, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68558/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68558/topic5823/</guid>
			<pubDate>Wed, 08 Mar 2023 12:24:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68462/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_j176ApZ3" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />В итоге тест работал 4 часа<br />=============<br />4 часа - это не срок. У меня скрипты годами (!) работают, но иногда вылазят ошибки, описанные в данном треде. Многие ошибки даже за неделю непрерывных нагрузочных тестов нереально воспроизвести. <br />
			<i>28.02.2023 10:45:39, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68462/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68462/topic5823/</guid>
			<pubDate>Tue, 28 Feb 2023 10:45:39 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68431/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ENx76yYm" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Форум не церковь, а я вам не поп, чтобы слушать Вашу исповедь.<br />=============<br /> &nbsp; Короткий ответ с элементами юмора радует. Это путь к исправлению. Но вы опять что-то перепутали, скорее я выступил в роли попа со своими наставлениями <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" /> . <br />
			<i>26.02.2023 13:46:13, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68431/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68431/topic5823/</guid>
			<pubDate>Sun, 26 Feb 2023 13:46:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68430/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_T9ZOEnNd" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />nikolz <br /> &nbsp; Ожидаемо, что вам не захотелось продолжения нашего «банкета», но чтобы у вас, и мысли продолжения его не возникли далее (вы мне надоели), то я сам его и завершу.<br /> &nbsp; Мне, совершенно, не интересно с вами общаться. Что-то вам объяснить, это неразрешимая задача (на уровне, попытки объяснения обезьяне тензорного исчисления). &nbsp;Но, я в мягкой форме и неоднократно &nbsp;пытался вам объяснить, предельно простую мысль, что вам не надо много писать на форуме, пока вы не сможете читать &nbsp;:: . &nbsp;А если это и произойдет (вы сможете читать) то, похоже, очень не скоро &nbsp;:: .<br /> &nbsp; Вам вредно изображать из себя «гуру программирования». Вам это не идет. Вы что, не понимаете, что вы смешны со своими сотнями потоками? &nbsp;Вы несчастный человек. Вам не надо заниматься сложными вещами. Вам, наверное, надо как то осознать ваше реальное место в этой жизни. Вы не торгуете на &nbsp;фондовом рынке, &nbsp;хоть и заявляете о каких то «бешенных» процентах. У вас нет приличной работы. Ну кто, в здравом уме, примет вас на приличную работу? Вы безработный или полубезработный и работаете на данном форуме «прокладкой» между комментариями пользователей.<br />=============<br />Ну и нахрена Вы словесным поносом растеклись по интернету?<br />--------------------------------<br />Форум не церковь, а я вам не поп, чтобы слушать Вашу исповедь. &nbsp; <br />
			<i>26.02.2023 13:07:22, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68430/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68430/topic5823/</guid>
			<pubDate>Sun, 26 Feb 2023 13:07:22 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68427/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			nikolz <br /> &nbsp; Ожидаемо, что вам не захотелось продолжения нашего «банкета», но чтобы у вас, и мысли продолжения его не возникли далее (вы мне надоели), то я сам его и завершу.<br /> &nbsp; Мне, совершенно, не интересно с вами общаться. Что-то вам объяснить, это неразрешимая задача (на уровне, попытки объяснения обезьяне тензорного исчисления). &nbsp;Но, я в мягкой форме и неоднократно &nbsp;пытался вам объяснить, предельно простую мысль, что вам не надо много писать на форуме, пока вы не сможете читать &nbsp;<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;А если это и произойдет (вы сможете читать) то, похоже, очень не скоро &nbsp;<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" /> .<br /> &nbsp; Вам вредно изображать из себя «гуру программирования». Вам это не идет. Вы что, не понимаете, что вы смешны со своими сотнями потоками? &nbsp;Вы несчастный человек. Вам не надо заниматься сложными вещами. Вам, наверное, надо как то осознать ваше реальное место в этой жизни. Вы не торгуете на &nbsp;фондовом рынке, &nbsp;хоть и заявляете о каких то «бешенных» процентах. У вас нет приличной работы. Ну кто, в здравом уме, примет вас на приличную работу? Вы безработный или полубезработный и работаете на данном форуме «прокладкой» между комментариями пользователей. <br />
			<i>26.02.2023 07:18:34, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68427/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68427/topic5823/</guid>
			<pubDate>Sun, 26 Feb 2023 07:18:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68423/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Пропустил тяжкое обвинение &nbsp;<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 /><br />====quote====<br /><a class="blog-p-user-name" id="bp_xTrZGotE" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Судя по Вашим постам Вы не умеете использовать механизмы синхронизации потоков. &nbsp;<br />=============<br /> &nbsp;Если бы вы умели читать мои комментарии и при этом еще что-то соображать (а это, к сожалению, точно не лечится &nbsp;<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 />------------ <br /> &nbsp;Кстати (о заблуждениях):<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_TZ1hyoOp" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Локальные стеки у луа машин майн и основного потока разные и следовательно синхронизация потоков при обращении к ним не требуется и нет блокировки.<br />=============<br /> &nbsp;Вы что, до сих пор не сообразили, что когда мы с вами «муторно» обсуждали коды на C++, то lua_lock(L) &nbsp;и &nbsp; lua_unlock(L) &nbsp;это те самые блокировки, которые, по вашему мнению, отсутствуют.<br />------------------------------ <br /> &nbsp;Если же вам захочется продолжение нашего «банкета» &nbsp;<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" /> , то оно будет. <br />
			<i>25.02.2023 10:38:47, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68423/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68423/topic5823/</guid>
			<pubDate>Sat, 25 Feb 2023 10:38:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68422/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_tdvtJt8Z" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />дайте ссылку на такой пример<br />=============<br /> &nbsp;nikolz &nbsp;писатель, а не читатель <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" /> ? Вы не умеете читать?<br />Мною же было написано, что обсуждаемую ошибку QLua обнаружил пользователь Старатель. Читайте: <noindex><a href="https://forum.quik.ru/messages/forum10/message57110/topic5823/#message57110" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message57110/topic5823/#message57110</a></noindex><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_qAEot5Sw" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Отвечу Вам конкретно, как решить Вашу проблему.<br />=============<br /> &nbsp; &nbsp; &nbsp;Хотя у меня нет проблем, но интересно, какие проблемы вы можете решать, если даже читать не умеет? <br />
			<i>24.02.2023 20:45:16, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68422/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68422/topic5823/</guid>
			<pubDate>Fri, 24 Feb 2023 20:45:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68420/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_9sV81050" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />Разработчики КВИКА &nbsp;к разработке VMLua &nbsp;имеют ровно такое же отношение как мы с вами - т е НИКАКОГО.<br />=============<br /> &nbsp; &nbsp;Я нигде не писал, что разработчики КВИКА разрабатывали VMLua. Но за все ошибки, которые возникают в КВИКе, независимо от того, что разработчик использовал при его создании, отвечают он.<br /> &nbsp; &nbsp;Вы какой-то сильно непонятливый. Но попробую объяснить вам это на простом примере. Возможно, вы ездите на своей машине. В ней наверняка используется электроника, которую производитель закупал на стороне. Например, эта электроника сломалась. Вы что, побежите со своими претензиями к производителю электроники?<br />=============<br />Вы ломитесь в открытые ворота. <br />-------------------------------<br />То, что VMLua потоко не безопасная известно с момента ее создания. <br />-----------------------------<br />Это не ошибка, а ограничения реализации VMLua, которую изначально создавали для измерительных мобильных устройств . <br />------------------------------<br />Для реализации многопоточности в каждой ОС есть свои механизмы. &nbsp;<br />----------------------------------<br />На основе этих механизмов разработчики и реализуют синхронизацию своих приложений. &nbsp;<br />-----------------------<br />В QLUA есть синхронизация в функциях. <br />-------------------------<br />Вы пишите cвой скрипт - это Ваше приложение. &nbsp;Вы его разработчик<br />Вот и решайте свои проблемы сами, а не перекладывайте их на других.<br />----------------------------<br />Я не использую sleep и синхронизирую все потоки Их у меня до 100 штук создается в тестах. Делаю Специально тесты, где потоки долго заняты до 10 секунд на каждой сделке.<br />В итоге если в одном потоке то сделки последовательно будут обрабатываться через 10 секунд. У меня потоки запускаются через 5-15 мс от прихода сделки. <br />--------------------------<br />Судя по Вашим постам Вы не умеете использовать механизмы синхронизации потоков. &nbsp;<br />------------------------------------------<br />Покажите пример как tonumber Вам создает проблему в скрипте или дайте ссылку на такой пример, если Вы его выкладывали с результатами.<br />Отвечу Вам конкретно, как решить Вашу проблему. <br />
			<i>24.02.2023 18:32:53, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68420/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68420/topic5823/</guid>
			<pubDate>Fri, 24 Feb 2023 18:32:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68418/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_4mA1rRkk" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Разработчики КВИКА &nbsp;к разработке VMLua &nbsp;имеют ровно такое же отношение как мы с вами - т е НИКАКОГО.<br />=============<br /> &nbsp; Я нигде не писал, что разработчики КВИКА разрабатывали VMLua. Но за все ошибки, которые возникают в КВИКе, независимо от того, что разработчик использовал при его создании, отвечают он.<br /> &nbsp; &nbsp;Вы какой-то сильно непонятливый. Но попробую объяснить вам это на простом примере. Возможно, вы ездите на своей машине. В ней наверняка используется электроника, которую производитель закупал на стороне. Например, эта электроника сломалась. Вы что, побежите со своими претензиями к производителю электроники? <br />
			<i>24.02.2023 12:02:50, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68418/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68418/topic5823/</guid>
			<pubDate>Fri, 24 Feb 2023 12:02:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68417/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Uj0Y8M97" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br /> const char *s = &nbsp;lua_tolstring (L, 1, &amp;l); &nbsp;if (s != NULL &amp;&amp; &nbsp;lua_stringtonumber (L, s) == l + 1)return 1; /* successful conversion to number *//* else not a number */<br />=============<br />Разработчики КВИКА &nbsp;к разработке VMLua &nbsp;имеют ровно такое же отношение как мы с вами - т е НИКАКОГО.<br />------------------------------<br />поясните, зачем окружать указатель на стек, если он никогда не изменяется потоками<br />В скриптах QUIK, указатель на глобальный стек у основного потока и потока main &nbsp;один и тот же,<br />а локальные стеки у каждого потока свой и их вообще нет смысла синхронизировать.<br />----------------------------<br />Синхронизировать надо не код программы, а обращение к одним и тем же областям данных.<br />===============<br />В данном случае - это область данных в глобальном стеке. <br />Но ее как раз и синхронизировали разработчики КВИК в функциях библиотеки QLUA<br />и сделали 3 функции потокобезопасные для обращения к таблицам.<br />Все что они сделали работает.<br />-----------------------<br />Все сверх этого пишите сами , если это надо Вам.<br />Вы хотите чтобы они занялись разработкой VMLua?<br />В чем проблема? <br />
			<i>24.02.2023 11:31:30, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68417/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68417/topic5823/</guid>
			<pubDate>Fri, 24 Feb 2023 11:31:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68416/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_GWfFaf1H" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />else {size_t l;<br /> &nbsp;const char *s = &nbsp;lua_tolstring (L, 1, &l);<br /> &nbsp;if (s != NULL && &nbsp;lua_stringtonumber (L, s) == l + 1)return 1; /* successful conversion to number *//* else not a number */<br /> &nbsp; }<br />}<br />в этой части преобразуется строка в число и используется функция &nbsp;lua_tolstring &nbsp; ранее уже показывал, повторю:<br />=============<br /> &nbsp;А функция lua_stringtonumber &nbsp;для вас, конечно, не существует. Вы думаете, что она никогда не вызывается? &nbsp;Даже если надо преобразовать число, представленное в виде строки?<br /> &nbsp;Вы все-таки читайте то, что я пишу. Я же дал вам ссылку на свой разбор ситуации. И эта ссылка многократно повторялась ранее.<br /> &nbsp;Но для вас повторю написанное мной ранее (цитирую себя): <br />----<br /> &nbsp; При просмотре исходника функции tonumber (с учетом вызываемых в ней функций), я обнаружил, что в этой функции есть как минимум один фрагмент с использованием операций в L без синхронизирующих скобок (мои комментарии помечены в исходнике символами #####).<br /> !!! &nbsp; lua_stringtonumber вызывается в tonumber:<br />LUA_API size_t lua_stringtonumber (lua_State *L, const char *s) {<br /> size_t sz = luaO_str2num(s, s2v(L-&gt;top)); &nbsp; // &nbsp;##### ? используется L без синхронизирующих скобок<br /> if (sz != 0)<br /> &nbsp; api_incr_top(L); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// &nbsp;##### ? используется L без синхронизирующих скобок<br /> return sz;<br />}<br /> &nbsp; &nbsp;Возможно, что-то я упустил, но пусть это проверит разработчик QUIK.<br />----<br /> В конструкциях luaO_str2num и api_incr_top в качестве параметров используется L.<br />Найдите в этих конструкциях синхронизирующие скобки lua_unlock(L); lua_lock(L) и тогда мы продолжим общение. <br />
			<i>23.02.2023 23:27:16, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68416/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68416/topic5823/</guid>
			<pubDate>Thu, 23 Feb 2023 23:27:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68415/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ну давайте посмотрим tonumber<br /> {&quot;<noindex><a href="https://www.lua.org/source/5.3/lvm.h.html#tonumber" target="_blank" rel="nofollow">tonumber</a></noindex>&quot;, <noindex><a href="https://www.lua.org/source/5.3/lbaselib.c.html#luaB_tonumber" target="_blank" rel="nofollow">luaB_tonumber</a></noindex>},<br />---------------------------------------<br />static int luaB_tonumber (<noindex><a href="https://www.lua.org/source/5.3/lstate.h.html#lua_State" target="_blank" rel="nofollow">lua_State</a></noindex> *L) {<br />if (<noindex><a href="https://www.lua.org/source/5.3/lua.h.html#lua_isnoneornil" target="_blank" rel="nofollow">lua_isnoneornil</a></noindex>(L, 2)) { /* standard conversion? */<br /><noindex><a href="https://www.lua.org/source/5.3/lauxlib.c.html#luaL_checkany" target="_blank" rel="nofollow">luaL_checkany</a></noindex>(L, 1);<br />if (<noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#lua_type" target="_blank" rel="nofollow">lua_type</a></noindex>(L, 1) == <noindex><a href="https://www.lua.org/source/5.3/lua.h.html#LUA_TNUMBER" target="_blank" rel="nofollow">LUA_TNUMBER</a></noindex>) { /* already a number? */<br /><noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#lua_settop" target="_blank" rel="nofollow">lua_settop</a></noindex>(L, 1); /* yes; return it */<br />return 1;<br />}<br /><B>в этой ча</B><B>сти &nbsp;ничего не преобразуется так как это и есть число</B><br />===================================-<br />else {<br />size_t l;<br />const char *s = <noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#lua_tolstring" target="_blank" rel="nofollow">lua_tolstring</a></noindex>(L, 1, &amp;l);<br />if (s != NULL &amp;&amp; <noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#lua_stringtonumber" target="_blank" rel="nofollow">lua_stringtonumber</a></noindex>(L, s) == l + 1)<br />return 1; /* successful conversion to number */<br />/* else not a number */<br />}<br />}<br /><B>в этой части преобразуется строка в число и используется функция </B><noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#lua_tolstring" target="_blank" rel="nofollow">lua_tolstring</a></noindex> &nbsp;ранее уже показывал, повторю:<br /><br /><noindex><a href="https://www.lua.org/source/5.3/luaconf.h.html#LUA_API" target="_blank" rel="nofollow">LUA_API</a></noindex> const char *lua_tolstring (<noindex><a href="https://www.lua.org/source/5.3/lstate.h.html#lua_State" target="_blank" rel="nofollow">lua_State</a></noindex> *L, int idx, size_t *len) { &nbsp;<noindex><a href="https://www.lua.org/source/5.3/lobject.h.html#StkId" target="_blank" rel="nofollow">StkId</a></noindex> o = <noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#index2addr" target="_blank" rel="nofollow">index2addr</a></noindex>(L, idx);<br /> &nbsp;if (!<noindex><a href="https://www.lua.org/source/5.3/lobject.h.html#ttisstring" target="_blank" rel="nofollow">ttisstring</a></noindex>(o)) {<br /> &nbsp; &nbsp;if (!<noindex><a href="https://www.lua.org/source/5.3/lvm.h.html#cvt2str" target="_blank" rel="nofollow">cvt2str</a></noindex>(o)) { &nbsp;/* not convertible? */<br /> &nbsp; &nbsp; &nbsp;if (len != NULL) *len = 0;<br /> &nbsp; &nbsp; &nbsp;return NULL;<br /> &nbsp; &nbsp;}<br /> &nbsp; &nbsp;<noindex><a href="https://www.lua.org/source/5.3/llimits.h.html#lua_lock" target="_blank" rel="nofollow"><B>lua_lock</B></a></noindex><B>(L); &nbsp;/* &#39;</B><noindex><a href="https://www.lua.org/source/5.3/lobject.c.html#luaO_tostring" target="_blank" rel="nofollow"><B>lu</B>aO_tostring</a></noindex>&#39; may create a new string */<br /> &nbsp; &nbsp;<noindex><a href="https://www.lua.org/source/5.3/lobject.c.html#luaO_tostring" target="_blank" rel="nofollow">luaO_tostring</a></noindex>(L, o);<br /> &nbsp; &nbsp;<noindex><a href="https://www.lua.org/source/5.3/lgc.h.html#luaC_checkGC" target="_blank" rel="nofollow">luaC_checkGC</a></noindex>(L);<br /> &nbsp; &nbsp;o = <noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#index2addr" target="_blank" rel="nofollow">index2addr</a></noindex>(L, idx); &nbsp;/* previous call may reallocate the stack */<br /> &nbsp; &nbsp;<noindex><a href="https://www.lua.org/source/5.3/llimits.h.html#lua_unlock" target="_blank" rel="nofollow"><B>lua_unlock</B></a></noindex><B>(L);</B><br /> &nbsp;}<br /> &nbsp;if (len != NULL)<br /> &nbsp; &nbsp;*len = <noindex><a href="https://www.lua.org/source/5.3/lobject.h.html#vslen" target="_blank" rel="nofollow">vslen</a></noindex>(o);<br /> &nbsp;return <noindex><a href="https://www.lua.org/source/5.3/lobject.h.html#svalue" target="_blank" rel="nofollow">svalue</a></noindex>(o);<br />}<br />=================================<br />else {<br />size_t l;<br />const char *s;<br /><noindex><a href="https://www.lua.org/source/5.3/lua.h.html#lua_Integer" target="_blank" rel="nofollow">lua_Integer</a></noindex> n = 0; /* to avoid warnings */<br /><noindex><a href="https://www.lua.org/source/5.3/lua.h.html#lua_Integer" target="_blank" rel="nofollow">lua_Integer</a></noindex> base = <noindex><a href="https://www.lua.org/source/5.3/lauxlib.c.html#luaL_checkinteger" target="_blank" rel="nofollow">luaL_checkinteger</a></noindex>(L, 2);<br /><noindex><a href="https://www.lua.org/source/5.3/lauxlib.c.html#luaL_checktype" target="_blank" rel="nofollow">luaL_checktype</a></noindex>(L, 1, <noindex><a href="https://www.lua.org/source/5.3/lua.h.html#LUA_TSTRING" target="_blank" rel="nofollow">LUA_TSTRING</a></noindex>); /* no numbers as strings */<br />s = <noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#lua_tolstring" target="_blank" rel="nofollow">lua_tolstring</a></noindex>(L, 1, &amp;l);<br /><noindex><a href="https://www.lua.org/source/5.3/lauxlib.h.html#luaL_argcheck" target="_blank" rel="nofollow">luaL_argcheck</a></noindex>(L, 2 &lt;= base &amp;&amp; base &lt;= 36, 2, &quot;base out of range&quot;);<br />if (<noindex><a href="https://www.lua.org/source/5.3/lbaselib.c.html#b_str2int" target="_blank" rel="nofollow">b_str2int</a></noindex>(s, (int)base, &amp;n) == s + l) {<br /><noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#lua_pushinteger" target="_blank" rel="nofollow">lua_pushinteger</a></noindex>(L, n);<br />return 1;<br />} /* else not a number */<br />} /* else not a number */<br /><noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#lua_pushnil" target="_blank" rel="nofollow">lua_pushnil</a></noindex>(L); /* not a number */<br />return 1;<br />}<br /><B>в этой части выясняется что строка не является числом при этом для строки тоже используется </B><noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#lua_tolstring" target="_blank" rel="nofollow"><B>lua_tolstring</B></a></noindex><B> &nbsp;ранее уже показывал</B><br />-------------------------------------<br />if (<noindex><a href="https://www.lua.org/source/5.3/lua.h.html#lua_isnoneornil" target="_blank" rel="nofollow">lua_isnoneornil</a></noindex>(L, 2)) { /* standard conversion? */<br /><noindex><a href="https://www.lua.org/source/5.3/lauxlib.c.html#luaL_checkany" target="_blank" rel="nofollow">luaL_checkany</a></noindex>(L, 1);<br />if (<noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#lua_type" target="_blank" rel="nofollow">lua_type</a></noindex>(L, 1) == <noindex><a href="https://www.lua.org/source/5.3/lua.h.html#LUA_TNUMBER" target="_blank" rel="nofollow">LUA_TNUMBER</a></noindex>) { /* already a number? */<br /><noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#lua_settop" target="_blank" rel="nofollow">lua_settop</a></noindex>(L, 1); /* yes; return it */<br />return 1;<br />}<br />------------------------------<br />Резюме, в преобразовании tonumber &nbsp;блокировка делается при получении копии строки. <br />Все правильно? &nbsp;Проблемы нет? <br />
			<i>23.02.2023 21:47:40, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68415/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68415/topic5823/</guid>
			<pubDate>Thu, 23 Feb 2023 21:47:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68410/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_0O7sKSUV" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Ой, что не так?<br />=============<br /> &nbsp; Не ту функцию с вами обсуждаем (смотрите мой предыдущий комментарий)<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" /> . Напрасно я вам мозги "пудрил". Но вы меня не читаете. Давно бы меня разоблачили. <br />
			<i>23.02.2023 10:52:59, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68410/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68410/topic5823/</guid>
			<pubDate>Thu, 23 Feb 2023 10:52:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68409/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ByJpTfuX" href="/user/15542/" bx-tooltip-user-id="15542">Anton Belonogov</a> написал:<br />По обращению 1 мы производим анализ проблемы, к сожалению, он еще не завершен.<br />=============<br /> &nbsp; &nbsp;<br />====quote====<br /><a class="blog-p-user-name" id="bp_UW5u5yK0" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />1) Ошибка в стандартной функции tosting, в режиме &nbsp;использования Lua в нескольких потоках (как это делается сейчас в QLua), обнаруженная Старателем;<br />=============<br /> &nbsp; Выше вместо tosting должно быть tonumber. Это моя ошибка. &nbsp;По ссылке <noindex><a href="https://forum.quik.ru/messages/forum10/message64871/topic5823/#message64871" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message64871/topic5823/#message64871</a></noindex> идет речь о tonumber. <br />
			<i>23.02.2023 09:40:19, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68409/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68409/topic5823/</guid>
			<pubDate>Thu, 23 Feb 2023 09:40:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68408/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_D6XLPPA9" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Ой, что не так?<br />=============<br />Вы что, только писать умеете?<br />Читайте ранее написанное мною: <noindex><a href="https://forum.quik.ru/messages/forum10/message64871/topic5823/#message64871" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message64871/topic5823/#message64871</a></noindex><br /> Вообще, вы мне надоели со своими неуклюжими попытками "уесть" меня. Что вы вы все время "надуваете" свои щеки? Ведь можете лопнуть. <br />
			<i>23.02.2023 07:24:40, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68408/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68408/topic5823/</guid>
			<pubDate>Thu, 23 Feb 2023 07:24:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68407/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_tnzFvNMd" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />tolstring <br />=============<br />В скрипте нельзя вызвать эту функцию, там мы пишем tostring, а не tolstring<br />====quote====<br /><a class="blog-p-user-name" id="bp_6LnLXTLP" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br /> lbaselib.c<br />=============<br />в таком случае, смотрим приведенную Вами функцию.<br />В ней выполняются различные преобразования в зависимости от типа исходного значения.<br />Но во всех случаях сначала преобразуемые данные извлекаются &nbsp;с помощью функции<br /> &nbsp; <noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#lua_pushfstring" target="_blank" rel="nofollow">lua_pushfst</a></noindex>ring<br />смотрим эту функцию:<br /><noindex><a href="https://www.lua.org/source/5.3/luaconf.h.html#LUA_API" target="_blank" rel="nofollow">LUA_API</a></noindex> const char *lua_pushfstring (<noindex><a href="https://www.lua.org/source/5.3/lstate.h.html#lua_State" target="_blank" rel="nofollow">lua_State</a></noindex> *L, const char *fmt, ...) { &nbsp;const char *ret;<br /> &nbsp;va_list argp;<br /> &nbsp;<noindex><a href="https://www.lua.org/source/5.3/llimits.h.html#lua_lock" target="_blank" rel="nofollow"><B>lua_lock</B></a></noindex><B>(L);</B><br /> &nbsp;va_start(argp, fmt);<br /> &nbsp;ret = <noindex><a href="https://www.lua.org/source/5.3/lobject.c.html#luaO_pushvfstring" target="_blank" rel="nofollow">luaO_pushvfstring</a></noindex>(L, fmt, argp);<br /> &nbsp;va_end(argp);<br /> &nbsp;<noindex><a href="https://www.lua.org/source/5.3/lgc.h.html#luaC_checkGC" target="_blank" rel="nofollow">luaC_checkGC</a></noindex>(L);<br /> &nbsp;<noindex><a href="https://www.lua.org/source/5.3/llimits.h.html#lua_unlock" target="_blank" rel="nofollow"><B>lua_unlock</B></a></noindex><B>(L);</B><br /> &nbsp;return ret;<br />}<br />----------------<br />Ой, что не так? <br />
			<i>23.02.2023 06:52:49, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68407/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68407/topic5823/</guid>
			<pubDate>Thu, 23 Feb 2023 06:52:49 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68403/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_PUTkvQVI" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />LUA_API const char *lua_tolstring (lua_State *L, int idx, size_t *len)<br />..........<br />что не так?<br />=============<br /> Это не стандартная функция tostring, которая используется внутри Lua, а функция из C-API (файл lapi.c), которая используется программами пользователя, написанными на C++ при &nbsp;взаимодействии с Lua. &nbsp; <br /> Стандартная tostring описана в файле lbaselib.c (lua 5.4).<br />Вот список стандартных базовых функций:<br />
====code====
<pre>
static const luaL_Reg base_funcs&#91;&#93; = {
&nbsp;&nbsp;{"assert", luaB_assert},
&nbsp;&nbsp;{"collectgarbage", luaB_collectgarbage},
&nbsp;&nbsp;{"dofile", luaB_dofile},
&nbsp;&nbsp;{"error", luaB_error},
&nbsp;&nbsp;{"getmetatable", luaB_getmetatable},
&nbsp;&nbsp;{"ipairs", luaB_ipairs},
&nbsp;&nbsp;{"loadfile", luaB_loadfile},
&nbsp;&nbsp;{"load", luaB_load},
&nbsp;&nbsp;{"next", luaB_next},
&nbsp;&nbsp;{"pairs", luaB_pairs},
&nbsp;&nbsp;{"pcall", luaB_pcall},
&nbsp;&nbsp;{"print", luaB_print},
&nbsp;&nbsp;{"warn", luaB_warn},
&nbsp;&nbsp;{"rawequal", luaB_rawequal},
&nbsp;&nbsp;{"rawlen", luaB_rawlen},
&nbsp;&nbsp;{"rawget", luaB_rawget},
&nbsp;&nbsp;{"rawset", luaB_rawset},
&nbsp;&nbsp;{"select", luaB_select},
&nbsp;&nbsp;{"setmetatable", luaB_setmetatable},
&nbsp;&nbsp;{"tonumber", luaB_tonumber},
&nbsp;&nbsp;{"tostring", luaB_tostring},
&nbsp;&nbsp;{"type", luaB_type},
&nbsp;&nbsp;{"xpcall", luaB_xpcall},
&nbsp;&nbsp;/* placeholders */
&nbsp;&nbsp;{LUA_GNAME, NULL},
&nbsp;&nbsp;{"_VERSION", NULL},
&nbsp;&nbsp;{NULL, NULL}
};
</pre>
=============
<br /><br />А вот код функции luaB_tostring, который реализует &quot;tostring&quot; и в которой вызывается luaL_tolstring(L, 1, NULL):<br />
====code====
<pre>
static int luaB_tostring (lua_State *L) {
&nbsp;&nbsp;luaL_checkany(L, 1);
&nbsp;&nbsp;luaL_tolstring(L, 1, NULL);
&nbsp;&nbsp;return 1;
}
//&nbsp;&nbsp;-------&nbsp;&nbsp;Вызывается в luaB_tostring (lua_State *L)&nbsp;&nbsp;--
LUALIB_API const char *luaL_tolstring (lua_State *L, int idx, size_t *len) {
&nbsp;&nbsp;idx = lua_absindex(L,idx);
&nbsp;&nbsp;if (luaL_callmeta(L, idx, "__tostring")) {&nbsp;&nbsp;/* metafield? */
&nbsp;&nbsp;&nbsp;&nbsp;if (!lua_isstring(L, -1))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;luaL_error(L, "'__tostring' must return a string");
&nbsp;&nbsp;}
&nbsp;&nbsp;else {
&nbsp;&nbsp;&nbsp;&nbsp;switch (lua_type(L, idx)) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case LUA_TNUMBER: {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (lua_isinteger(L, idx))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pushfstring(L, "%I", (LUAI_UACINT)lua_tointeger(L, idx));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pushfstring(L, "%f", (LUAI_UACNUMBER)lua_tonumber(L, idx));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case LUA_TSTRING:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pushvalue(L, idx);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case LUA_TBOOLEAN:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pushstring(L, (lua_toboolean(L, idx) ? "true" : "false"));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case LUA_TNIL:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pushliteral(L, "nil");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default: {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int tt = luaL_getmetafield(L, idx, "__name");&nbsp;&nbsp;/* try name */
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const char *kind = (tt == LUA_TSTRING) ? lua_tostring(L, -1) :
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; luaL_typename(L, idx);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pushfstring(L, "%s: %p", kind, lua_topointer(L, idx));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (tt != LUA_TNIL)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_remove(L, -2);&nbsp;&nbsp;/* remove '__name' */
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;}
&nbsp;&nbsp;return lua_tolstring(L, -1, len);
}
</pre>
=============
<br /> &nbsp; Ну и так далее.<br />-------<br /> &nbsp;Когда вы пишите, например, в скрипте &nbsp; tolstring (5), то используется &nbsp; luaB_tostring. Эта же функция используется неявно Lua для преобразования числа 1 в строку, если вы написали: &quot;текст &quot; .. &nbsp;1 . <br />
			<i>22.02.2023 19:06:02, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68403/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68403/topic5823/</guid>
			<pubDate>Wed, 22 Feb 2023 19:06:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68401/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_4eZ14jzw" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/15542/" target="_blank" rel="nofollow">Anton Belonogov</a></noindex> написал:<br />По обращению 1 мы производим анализ проблемы, к сожалению, он еще не завершен.<br />=============<br /> &nbsp; &nbsp;Описав в своем комментарии, в чем, по моему мнению, заключается ошибка использования существующей функции tostring в QLua, я не привел решения по ее ее устранения.<br /> &nbsp; &nbsp;Приведу в данном комментарии один из вариантов решения:<br /> &nbsp; &nbsp; &nbsp;1) &nbsp;В начале функции tostring &nbsp;вставить lua_lock(L);<br /> &nbsp; &nbsp; &nbsp;2) &nbsp;В конце всех завершений функции вставить &nbsp;lua_unlock(L).<br />=============<br />так вроде все есть<br />смотрим sorce 5.3:<br /><br /><noindex><a href="https://www.lua.org/source/5.3/luaconf.h.html#LUA_API" target="_blank" rel="nofollow">LUA_API</a></noindex> const char *lua_tolstring (<noindex><a href="https://www.lua.org/source/5.3/lstate.h.html#lua_State" target="_blank" rel="nofollow">lua_State</a></noindex> *L, int idx, size_t *len) {<br /> &nbsp;<noindex><a href="https://www.lua.org/source/5.3/lobject.h.html#StkId" target="_blank" rel="nofollow">StkId</a></noindex> o = <noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#index2addr" target="_blank" rel="nofollow">index2addr</a></noindex>(L, idx);<br /> &nbsp;if (!<noindex><a href="https://www.lua.org/source/5.3/lobject.h.html#ttisstring" target="_blank" rel="nofollow">ttisstring</a></noindex>(o)) {<br /> &nbsp; &nbsp;if (!<noindex><a href="https://www.lua.org/source/5.3/lvm.h.html#cvt2str" target="_blank" rel="nofollow">cvt2str</a></noindex>(o)) { &nbsp;/* not convertible? */<br /> &nbsp; &nbsp; &nbsp;if (len != NULL) *len = 0;<br /> &nbsp; &nbsp; &nbsp;return NULL;<br /> &nbsp; &nbsp;}<br /> &nbsp; &nbsp;<noindex><a href="https://www.lua.org/source/5.3/llimits.h.html#lua_lock" target="_blank" rel="nofollow"><B>lua_lock</B></a></noindex><B>(L); </B> /* &#39;<noindex><a href="https://www.lua.org/source/5.3/lobject.c.html#luaO_tostring" target="_blank" rel="nofollow">luaO_tostring</a></noindex>&#39; may create a new string */<br /> &nbsp; &nbsp;<noindex><a href="https://www.lua.org/source/5.3/lobject.c.html#luaO_tostring" target="_blank" rel="nofollow">luaO_tostring</a></noindex>(L, o);<br /> &nbsp; &nbsp;<noindex><a href="https://www.lua.org/source/5.3/lgc.h.html#luaC_checkGC" target="_blank" rel="nofollow">luaC_checkGC</a></noindex>(L);<br /> &nbsp; &nbsp;o = <noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#index2addr" target="_blank" rel="nofollow">index2addr</a></noindex>(L, idx); &nbsp;/* previous call may reallocate the stack */<br /> &nbsp; &nbsp;<noindex><a href="https://www.lua.org/source/5.3/llimits.h.html#lua_unlock" target="_blank" rel="nofollow"><B>lua_unlock</B></a></noindex><B>(L);</B><br /> &nbsp;}<br /> &nbsp;if (len != NULL)<br /> &nbsp; &nbsp;*len = <noindex><a href="https://www.lua.org/source/5.3/lobject.h.html#vslen" target="_blank" rel="nofollow">vslen</a></noindex>(o);<br /> &nbsp;return <noindex><a href="https://www.lua.org/source/5.3/lobject.h.html#svalue" target="_blank" rel="nofollow">svalue</a></noindex>(o);<br />}<br />------------------- <br />что не так? <br />
			<i>22.02.2023 17:02:00, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68401/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68401/topic5823/</guid>
			<pubDate>Wed, 22 Feb 2023 17:02:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68398/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_6C2MNre7" href="/user/15542/" bx-tooltip-user-id="15542">Anton Belonogov</a> написал:<br />По обращению 1 мы производим анализ проблемы, к сожалению, он еще не завершен.<br />=============<br /> &nbsp; Описав в своем комментарии, в чем, по моему мнению, заключается ошибка использования существующей функции tostring в QLua, я не привел решения по ее ее устранения.<br /> &nbsp; &nbsp;Приведу в данном комментарии один из вариантов решения:<br /> &nbsp; &nbsp; &nbsp;1) &nbsp;В начале функции tostring &nbsp;вставить lua_lock(L);<br /> &nbsp; &nbsp; &nbsp;2) &nbsp;В конце всех завершений функции вставить &nbsp;lua_unlock(L). <br />
			<i>22.02.2023 15:09:08, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68398/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68398/topic5823/</guid>
			<pubDate>Wed, 22 Feb 2023 15:09:08 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68397/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Q32ppy1r" href="/user/15542/" bx-tooltip-user-id="15542">Anton Belonogov</a> написал:<br />По обращениям 2, 3 отвечали Вам ранее, что доработки в Lua 5.3 не будут выполняться, рекомендуем использовать Lua 5.4.<br />=============<br /> &nbsp; &nbsp;Проблема 2 относится и к QLua 5.4, но в QLua 5.4 я не вижу ее простого решения и, как я написал, это свое предложение снимаю. <br />
			<i>22.02.2023 14:08:16, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68397/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68397/topic5823/</guid>
			<pubDate>Wed, 22 Feb 2023 14:08:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68396/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_TsboeL5Y" href="/user/15542/" bx-tooltip-user-id="15542">Anton Belonogov</a> написал:<br />По обращению 1 мы производим анализ проблемы, к сожалению, он еще не завершен. Как только результат будет получен, мы поделимся с Вами информацией.<br />=============<br /> &nbsp; &nbsp;Если есть конкретные вопросы по моему тексту, то я попытаюсь ответить. <br />
			<i>22.02.2023 13:57:11, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68396/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68396/topic5823/</guid>
			<pubDate>Wed, 22 Feb 2023 13:57:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68395/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_tOL2ciBC" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a>, благодарим за информацию.<br /><br />По обращению 1 мы производим анализ проблемы, к сожалению, он еще не завершен. Как только результат будет получен, мы поделимся с Вами информацией.<br />По обращениям 2, 3 отвечали Вам ранее, что доработки в Lua 5.3 не будут выполняться, рекомендуем использовать Lua 5.4. <br />
			<i>22.02.2023 13:51:59, Anton Belonogov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68395/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68395/topic5823/</guid>
			<pubDate>Wed, 22 Feb 2023 13:51:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68394/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В цитате "nikolz написал:<br />При своем запуске, GC "ползает" по всем стекам": &nbsp;вместо nikolz читать TGB. <br />
			<i>22.02.2023 13:17:25, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68394/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68394/topic5823/</guid>
			<pubDate>Wed, 22 Feb 2023 13:17:25 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68393/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_WV40VeaH" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Вы почему-то опускаете тот момент, что синхронизация нужна лишь при изменении потоками общих данных . т е если данные лишь читаются, то синхронизация обращения к ним потков не требуется.<br />=============<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_ilcys4AP" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />При своем запуске, GC "ползает" по всем стекам <br />=============<br /> и при этом изменяет их данные.<br /> &nbsp; Возможно &nbsp;<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" /> , вам известно, что сборка мусора это нетривиальная задача даже при реализации ее в однопоточном варианте. Например, в C# для программы допускается работа в нескольких потоках, но Microsoft, с ее немалыми ресурсами, не смогла реализовать потокобезопасный сборщик мусора и при его работе "замораживает" выполнение потоков.<br /> &nbsp;То что делается в QLua, я описал в своем комментарии. <br />
			<i>22.02.2023 13:14:07, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68393/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68393/topic5823/</guid>
			<pubDate>Wed, 22 Feb 2023 13:14:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68392/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_i3elGBtf" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />Локальные стеки у луа машин майн и основного потока разные и следовательно синхронизация потоков при обращении к ним не требуется и нет блокировки.<br />=============<br /> &nbsp; Это было бы верно, если бы в Qlua не было общего ресурса потоков: &nbsp;сборки мусора (GC). &nbsp;При своем запуске, GC &quot;ползает&quot; по всем стекам и не является потокобезопасным. Поэтому для всех потоков QLua все фрагменты скрипта, за исключением, вызываемых С- функций, являются разделяемым ресурсом (потоки синхронизируются). &nbsp;Нет синхронизации потоков только при выполнении C-функций, вызванных в скрипте.<br />=============<br />Вы почему-то опускаете тот момент, что синхронизация нужна лишь при изменении потоками общих данных . т е если данные лишь читаются, то синхронизация обращения к ним потков не требуется.<br />Во всех приведенных Вами обсуждаемых фрагментах, Вы этот факт не учитываете. &nbsp; <br />
			<i>22.02.2023 12:49:07, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68392/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68392/topic5823/</guid>
			<pubDate>Wed, 22 Feb 2023 12:49:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Кривые шибки в QLua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68389/topic5823/">Кривые шибки в QLua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_KrerDtxx" href="/user/15542/" bx-tooltip-user-id="15542">Anton Belonogov</a> написал:<br />Приведите, пожалуйста, ссылки на упоминаемые Вами обращения, проверим информацию.<br />=============<br /> &nbsp; Здравствуйте.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_b47AD19V" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br /> 1) Ошибка в стандартной функции tosting, в режиме &nbsp;использования Lua в нескольких потоках (как это делается сейчас в QLua), обнаруженная Старателем;<br />=============<br /> &nbsp;Ссылка на мой повтор: : <noindex><a href="https://forum.quik.ru/messages/forum10/message64871/topic5823/#message64871" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message64871/topic5823/#message64871</a></noindex><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_Rw4ZX9pl" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />2) Системная ошибка взаимоблокировки (выполнением «чистого кода Lua») потока main и основного потока QUIK,<br />=============<br /> Ссылка на мое первоначальное предложение: <noindex><a href="https://forum.quik.ru/messages/forum10/message54998/topic5119/#message54998" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message54998/topic5119/#message54998</a></noindex><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_2vosxRvd" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />3) Существующая ошибка в QLua версиии 5.3, которую разработчик не собирается устранять, неофициально отказываясь от ее поддержки (заявляя это, втихомолку &nbsp; , в данном форуме), Причем, что характерно, бесперспективно &nbsp; , мною предложен конкретный простой тест для анализа этой ошибки.<br />=============<br /> Ссылка на мой повтор: <noindex><a href="https://forum.quik.ru/messages/forum10/message58500/topic5823/#message58500" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message58500/topic5823/#message58500</a></noindex><br /> Ответ поддержки: <noindex><a href="https://forum.quik.ru/messages/forum10/message59594/topic5823/#message59594" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message59594/topic5823/#message59594</a></noindex> <br />
			<i>22.02.2023 10:15:59, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68389/topic5823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68389/topic5823/</guid>
			<pubDate>Wed, 22 Feb 2023 10:15:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
