<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Неожиданное поведение функции find()]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Неожиданное поведение функции find() форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 29 Apr 2026 07:42:06 +0300</pubDate>
		<item>
			<title>Неожиданное поведение функции find()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message10295/topic1118/">Неожиданное поведение функции find()</a></b> <i>Функция find() не находит строку в самой себе</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Спасибо, сработало!<br />Значит, не в ту документацию смотрел:)) <br />
			<i>18.11.2015 12:09:20, Антонио.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message10295/topic1118/</link>
			<guid>http://forum.quik.ru/messages/forum10/message10295/topic1118/</guid>
			<pubDate>Wed, 18 Nov 2015 12:09:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Неожиданное поведение функции find()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message10294/topic1118/">Неожиданное поведение функции find()</a></b> <i>Функция find() не находит строку в самой себе</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте,<br />Попробуйте так<br /><br />
====code====
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; k="Строка-Демо"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while k:len()&#62;1 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t=k:find(k, 1, true)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("Поиск подстроки "..k.." в самой себе даёт "..tostring(t))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k=k:sub(1,-2)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end&nbsp;&nbsp;&nbsp;&nbsp; 
 </pre>
=============
 Более подробно<br /><noindex><a href="http://lua-users.org/wiki/StringLibraryTutorial" target="_blank" rel="nofollow">StringLibraryTutorial</a></noindex> <br />
			<i>18.11.2015 11:59:28, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message10294/topic1118/</link>
			<guid>http://forum.quik.ru/messages/forum10/message10294/topic1118/</guid>
			<pubDate>Wed, 18 Nov 2015 11:59:28 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Неожиданное поведение функции find()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message10293/topic1118/">Неожиданное поведение функции find()</a></b> <i>Функция find() не находит строку в самой себе</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вопрос не по Квику, а по QLUA<br /><br />Столкнулся с таким фактом, что Функция<B> find()</B> не находит строку в самой себе<br />Мой пример:<br /><br /><br />
====code====
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k="Строка-Демо"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while k:len()&#62;1 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t=k:find(k)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ToLog("Поиск подстроки "..k.." в самой себе даёт "..tostring(t))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k=k:sub(1,-2)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;&nbsp; </pre>
=============
Получаем:<br />
====code====
<pre> Поиск подстроки Строка-Демо в самой себе даёт nil 
 Поиск подстроки Строка-Дем в самой себе даёт nil 
 Поиск подстроки Строка-Де в самой себе даёт nil 
 Поиск подстроки Строка-Д в самой себе даёт nil 
 Поиск подстроки Строка- в самой себе даёт 1 
 Поиск подстроки Строка в самой себе даёт 1 
 Поиск подстроки Строк в самой себе даёт 1 
 Поиск подстроки Стро в самой себе даёт 1 
 Поиск подстроки Стр в самой себе даёт 1 
 Поиск подстроки Ст в самой себе даёт 1 </pre>
=============
<br />Заменим Строка-Демо на Строка-Лом<br /><br /><br />
====code====
<pre>Поиск подстроки Строка-Лом в самой себе даёт nil;
Поиск подстроки Строка-Ло в самой себе даёт nil;
Поиск подстроки Строка-Л в самой себе даёт nil;
Поиск подстроки Строка- в самой себе даёт 1;
Поиск подстроки Строка в самой себе даёт 1;
Поиск подстроки Строк в самой себе даёт 1;</pre>
=============
<br />Смотрю в документацию по <B>find()</B>: &nbsp;<br /><I>-- Ищет вхождение подстроки в строку и возвращает индекс начала вхождения, или nil, если совпадение не найдено</I><br /><I>-- В строке поиска можно использовать регулярные выражения<br /></I><br />Получается, что если в моей строке содержится &quot;-&quot; и далее символ, то это рассматривается как регулярное выражение?<br />Если да, то как использовать<B> find() </B>или что-то вместо неё, чтобы подстрока интерпретировалась как подстрока, а не рег.выражение? <br />
			<i>18.11.2015 11:51:54, Антонио.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message10293/topic1118/</link>
			<guid>http://forum.quik.ru/messages/forum10/message10293/topic1118/</guid>
			<pubDate>Wed, 18 Nov 2015 11:51:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
