<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://uopilot.uokit.com/wiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B</id>
	<title>Массивы - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://uopilot.uokit.com/wiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B"/>
	<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B&amp;action=history"/>
	<updated>2026-04-08T18:30:06Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://uopilot.uokit.com/wiki/index.php?title=%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B&amp;diff=839&amp;oldid=prev</id>
		<title>Tatikoma в 11:34, 28 августа 2019</title>
		<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B&amp;diff=839&amp;oldid=prev"/>
		<updated>2019-08-28T11:34:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://uopilot.uokit.com/wiki/index.php?title=%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B&amp;amp;diff=839&amp;amp;oldid=444&quot;&gt;Внесённые изменения&lt;/a&gt;</summary>
		<author><name>Tatikoma</name></author>
		
	</entry>
	<entry>
		<id>https://uopilot.uokit.com/wiki/index.php?title=%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B&amp;diff=444&amp;oldid=prev</id>
		<title>Tatikoma: Новая страница: « == Описание == Самый простой способ понять массивы - это рассматривать их как набор одноим...»</title>
		<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B&amp;diff=444&amp;oldid=prev"/>
		<updated>2019-08-27T21:53:06Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: « == Описание == Самый простой способ понять массивы - это рассматривать их как набор одноим...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== Описание ==&lt;br /&gt;
Самый простой способ понять массивы - это рассматривать их как набор одноименных переменных с номером. Что-то вроде:&lt;br /&gt;
 #значение1&lt;br /&gt;
 #значение2&lt;br /&gt;
 #значение3&lt;br /&gt;
 #значение4&lt;br /&gt;
 #значение5&lt;br /&gt;
Тот же самый набор некоторых значений. Разница лишь в записи. А это в виде массива:&lt;br /&gt;
 %arr [ 1 ]&lt;br /&gt;
 %arr [ 2 ]&lt;br /&gt;
 %arr [ 3 ]&lt;br /&gt;
 %arr [ 4 ]&lt;br /&gt;
 %arr [ 5 ]&lt;br /&gt;
Весь смысл в том, что эти цифры в массивах можно задать переменной. Вот тебе и все массивы. Т.е.:&lt;br /&gt;
 set #a 1&lt;br /&gt;
 set #b 2&lt;br /&gt;
 set #c 3&lt;br /&gt;
 set #d 4&lt;br /&gt;
 set #e 5&lt;br /&gt;
 %arr [ #a ]&lt;br /&gt;
 %arr [ #b ]&lt;br /&gt;
 %arr [ #c ]&lt;br /&gt;
 %arr [ #d ]&lt;br /&gt;
 %arr [ #e ]&lt;br /&gt;
В итоге опять имеем тот же набор некоторых значений, все с теми же индексами от 1 до 5. Для нас это все те же 5 значений, как и в 1 записи, только номера этих переменных мы задали уже переменными.&lt;br /&gt;
 set #i 1&lt;br /&gt;
 %arr [ #i ]&lt;br /&gt;
 set #i #i + 1 // получилось i = 2&lt;br /&gt;
 %arr [ #i ]&lt;br /&gt;
 set #i #i + 1 // получилось i = 3&lt;br /&gt;
 %arr [ #i ]&lt;br /&gt;
 set #i #i + 1 // получилось i = 4&lt;br /&gt;
 %arr [ #i ]&lt;br /&gt;
 set #i #i + 1 // получилось i = 5&lt;br /&gt;
 %arr [ #i ]&lt;br /&gt;
В этой записи мы создаем переменную #i равной 1, затем используем ее при обращении к массиву. После каждого обращения к массиву мы увеличиваем значение переменной на 1 (set #i #i + 1). Таким образом, не смотря на то, что мы постоянно обращаемся к %arr [ #i ], каждый раз обращение происходит к следующему элементу, т.к. #i у нас увеличивается на 1.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Чтобы не писать такие однотипные строки, можно использовать оператор for. Весь смысл этого оператора- выполнять код циклами, увеличивая(или уменьшая) указанную переменную-счётчик.&lt;br /&gt;
 for #i 1 5 1&lt;br /&gt;
&amp;amp;lt;br&amp;gt;#i - изменяемая переменная (&amp;quot;счётчик&amp;quot;)&lt;br /&gt;
&amp;amp;lt;br&amp;gt;1 (первая в записи) - начальное значение&lt;br /&gt;
&amp;amp;lt;br&amp;gt;5 - конечное значение (при его превышении цикл прервется)&lt;br /&gt;
&amp;amp;lt;br&amp;gt;1 (вторая в записи) - число которое будет каждый раз прибавляться.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;&amp;amp;lt;br&amp;gt;Проще говоря запись означает, создать переменную #i равной 1 и прибавлять 1, пока #i не станет больше 5.&lt;br /&gt;
В нашем примере это выглядело бы так:&lt;br /&gt;
 for #i 1 5 1&lt;br /&gt;
    %arr [ #i ]&lt;br /&gt;
 end_for&lt;br /&gt;
Мы обратились пять раз к массиву, это были элементы:&lt;br /&gt;
 %arr [ 1 ]&lt;br /&gt;
 %arr [ 2 ]&lt;br /&gt;
 %arr [ 3 ]&lt;br /&gt;
 %arr [ 4 ]&lt;br /&gt;
 %arr [ 5 ]&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Собственно если понять смысл данного поста, то 90% возможностей массивов вы сможете использовать.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;&amp;amp;lt;br&amp;gt;Если не всё понятно, то ещё небольшое описание. По сути, массив - это таблица, в которой каждая ячейка имеет номер по горизонтали и вертикали, и в ней находятся какие-то данные.&lt;br /&gt;
Допустим имеется массив 3*2 (3 строки и 2 столбца), с именем %arr:&lt;br /&gt;
 // Это массив:&lt;br /&gt;
 set %arr [1 1] 100      // индексы [1 1] означают: первая строка, первый столбец&lt;br /&gt;
 set %arr [1 2] 200      // [1 2] - первая строка, второй столбец&lt;br /&gt;
 set %arr [2 1] 300      // вторая строка, первый столбец&lt;br /&gt;
 set %arr [2 2] 400&lt;br /&gt;
 set %arr [3 1] 500&lt;br /&gt;
 set %arr [3 2] 600      // третья строка, второй столбец&lt;br /&gt;
 &lt;br /&gt;
 // можно сохранить его, чтобы посмотреть как хранятся данные&lt;br /&gt;
 save_array %arr C:\SaveArray.txt&lt;br /&gt;
 End_script&lt;br /&gt;
Если открыть файл 'SaveArray.txt', то увидим:&lt;br /&gt;
&amp;amp;lt;br&amp;gt;100 200 &lt;br /&gt;
&amp;amp;lt;br&amp;gt;300 400&lt;br /&gt;
&amp;amp;lt;br&amp;gt;500 600&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Чтобы обратиться к какому-то элементу массива нужно указать индексы (номер строки и столбца):&lt;br /&gt;
 set %arr [1 1] 100&lt;br /&gt;
 set %arr [1 2] 200&lt;br /&gt;
 set %arr [2 1] 300&lt;br /&gt;
 set %arr [2 2] 400&lt;br /&gt;
 set %arr [3 1] 500&lt;br /&gt;
 set %arr [3 2] 600&lt;br /&gt;
 &lt;br /&gt;
 msg Первая строка, первый столбец:    %arr [1 1]&lt;br /&gt;
 msg Вторая строка, первый столбец:    %arr [2 1] &lt;br /&gt;
 msg Третья строка, второй столбец:    %arr [3 2]&lt;br /&gt;
  &lt;br /&gt;
 msg Индексы можно задавать переменными.&lt;br /&gt;
 set #a 2&lt;br /&gt;
 msg Переменная &amp;quot;#a&amp;quot; равна #a&lt;br /&gt;
 msg Первая строка, второй столбец:   %arr [1 #a] &lt;br /&gt;
 End_script&lt;br /&gt;
В основном массивы используют в циклах [[For]].&lt;br /&gt;
 set %arr [1 1] 100&lt;br /&gt;
 set %arr [2 1] 200&lt;br /&gt;
 set %arr [3 1] 300&lt;br /&gt;
 set #size size(%arr)   // присвоить переменной '#size' размер массива (количество строк), в данном случае будет присвоено 3. &lt;br /&gt;
 &lt;br /&gt;
 for #i 1 #size 1       // цикл, в котором переменная '#i' будет увеличиваться на единицу от 1 до 3&lt;br /&gt;
     log Переменная &amp;quot;#i&amp;quot; равна #i             &lt;br /&gt;
     log Содержимое элемента массива:   %arr [#i 1]    &lt;br /&gt;
 end_for&lt;br /&gt;
 End_script&lt;br /&gt;
Массив может быть одномерным, в нём только один столбец, т. е. указывается только номер строки.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;И может быть двумерным, тогда нужно указывать номер строки и столбца.&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
Привязка к окну: Нет.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Работа со свернутым окном: Да.&lt;br /&gt;
&lt;br /&gt;
 set &amp;amp;lt;массив&amp;gt; [номер_строки] &amp;amp;lt;значение&amp;gt;&lt;br /&gt;
Одномерный массив, где:&lt;br /&gt;
&amp;amp;lt;br&amp;gt;'''&amp;amp;lt;массив&amp;gt;''' - имя массива, может состоять из букв и цифр. Начинаться должно с '%'&lt;br /&gt;
&amp;amp;lt;br&amp;gt;'''[номер_строки]''' - номер строки массива.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;'''&amp;amp;lt;значение&amp;gt;''' - значение элемента массива.&lt;br /&gt;
&lt;br /&gt;
 set &amp;amp;lt;массив&amp;gt; [номер_строки номер_столбца] &amp;amp;lt;значение&amp;gt;&lt;br /&gt;
Двумерный массив, где:&lt;br /&gt;
&amp;amp;lt;br&amp;gt;'''&amp;amp;lt;массив&amp;gt;''' - имя массива, может состоять из букв и цифр. Начинаться должно с '%'&lt;br /&gt;
&amp;amp;lt;br&amp;gt;'''[номер_строки номер_столбца]''' - номер строки и столбца массива.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;'''&amp;amp;lt;значение&amp;gt;''' - значение элемента массива.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
 // Пример 1&lt;br /&gt;
 set %arr [1] 200 &lt;br /&gt;
 set %arr [2] 300&lt;br /&gt;
 move %arr [1] %arr [2]          // переместит курсор в координаты 200 300&lt;br /&gt;
 End_script&lt;br /&gt;
&lt;br /&gt;
 // Пример 2&lt;br /&gt;
 set %a [1] Вася  &lt;br /&gt;
 set %a [2] Петя&lt;br /&gt;
 set %a [3] Маша&lt;br /&gt;
 set %a [4] Андрей&lt;br /&gt;
 set %a [5] Катя&lt;br /&gt;
 set #size size(%a)                   // размер массива (сколько в нём строк, в данном случае их 5)&lt;br /&gt;
 for #i 1 #size 1                     // цикл, в котором переменная '#i' будет увеличиваться на единицу от 1 до 5&lt;br /&gt;
     log Переменная &amp;quot;#i&amp;quot; равна #i     // вывод в лог переменной '#i'&lt;br /&gt;
     log %a [#i]                      // вывод в лог значений массива, переменная '#i' указывает к какому элементу обращаться      &lt;br /&gt;
 end_for&lt;br /&gt;
 End_script &lt;br /&gt;
&lt;br /&gt;
 // Пример 3&lt;br /&gt;
 set %array [1 1] 111&lt;br /&gt;
 set %array [1 2] 222&lt;br /&gt;
 set %array [2 1] 333&lt;br /&gt;
 set %array [2 2] 444&lt;br /&gt;
 set %array [3 1] 555&lt;br /&gt;
 set %array [3 2] 666&lt;br /&gt;
 save_array %array C:\qwer4321.txt      // сохранит массив на диске 'C:\' в файле 'qwer4321.txt'&lt;br /&gt;
                                        // можно посмотреть как хранятся данные в массиве&lt;br /&gt;
 for #i 1 size(%array) 1                 &lt;br /&gt;
     move %array [#i 1] %array [#i 2]   // переместит курсор по координатам из массива&lt;br /&gt;
     log %array [#i 1] %array [#i 2]    // вывод в лог  координат&lt;br /&gt;
     wait 1000                          // ждать 1 секунду (1 секунда = 1000 мсек.)&lt;br /&gt;
 end_for&lt;br /&gt;
 End_script&lt;br /&gt;
&lt;br /&gt;
 // Пример 4&lt;br /&gt;
 // Вывод в сообщение случайного элемента массива&lt;br /&gt;
 init_arr %array a b c d e f g h i j k&lt;br /&gt;
 set #a 1 + random(size(%array))            // получить псевдослучайное число от 1 до 11 (количество строк массива)&lt;br /&gt;
 msg %array [#a]                            // вывод в сообщение&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Смотрите также ==&lt;br /&gt;
&lt;br /&gt;
[[Init arr]]&lt;br /&gt;
&amp;amp;lt;br&amp;gt;[[Indexof]]&lt;br /&gt;
&amp;amp;lt;br&amp;gt;[[Load array]]&lt;br /&gt;
&amp;amp;lt;br&amp;gt;[[Save array]]&lt;br /&gt;
&amp;amp;lt;br&amp;gt;[[Sort array]]&lt;br /&gt;
&amp;amp;lt;br&amp;gt;[[Delete array]]&lt;br /&gt;
&lt;br /&gt;
== История развития ==&lt;br /&gt;
&lt;br /&gt;
'''1.07 beta 5'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил массивы. отныне символ процента '%' считается идентификатором массива. индексы массива указываются после имени в квадратных скобках '[' и ']'. размер массива равен максимальному использованному индексу. присваивание значений осуществляется каждому элементу индивидуально. элементы массива могут содержать как строки, так и числа. &lt;br /&gt;
допустимо ссылаться на массивы параллельных скриптов, указав после имени массива, через точку, номер скрипта.&lt;br /&gt;
при указании только первого индекса в двумерном массиве, результатом будет строка из всех элементов второй размерности массива, соответствующих указанному индексу, и разделенных пробелом&lt;br /&gt;
 set %ar [4] тест // одномерный массив на 4 элемента&lt;br /&gt;
 set %arr [50 1] 544 &lt;br /&gt;
 set %arr [50 2] 800 // двумерный массив на 50 раз по 2 элемента&lt;br /&gt;
 set %ar.2 [5] // одномерный массив в параллельном скрипте&lt;br /&gt;
 left %arr [50] // клик левой кнопкой по координатам 544 800&lt;br /&gt;
&lt;br /&gt;
'''1.07 beta 7'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Исправил ошибку присваивания элементам массива значений переменных.&lt;br /&gt;
&lt;br /&gt;
'''2.02'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Исправил ошибку с присваиванием значений всегда только последнему элементу массивов, независимо от указанного.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Исправил ошибку с присваиванием значений массивам скрипта с номером 0, из других скриптов.&lt;br /&gt;
&lt;br /&gt;
'''2.05'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил переменную delimiter, используется для разделения элементов массива:&lt;br /&gt;
 set %a [1 1] 1&lt;br /&gt;
 set %a [1 2] 2&lt;br /&gt;
 set delimiter '+'&lt;br /&gt;
 msg %a [1]&lt;br /&gt;
 set #n %a [1]&lt;br /&gt;
 msg #n&lt;br /&gt;
 set delimiter&lt;br /&gt;
 set #n %a [1]&lt;br /&gt;
 msg #n&lt;br /&gt;
&lt;br /&gt;
'''2.17'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил функцию 'size', возвращает длину указанного параметра пример:&lt;br /&gt;
 set %q [4 3] test string here&lt;br /&gt;
 set %q [7 5] 0&lt;br /&gt;
 set $q 123 + 8645&lt;br /&gt;
 set #q 12&lt;br /&gt;
 msg size (%q [ 4 3 ] ) // 16 - длина элемента массива&lt;br /&gt;
 msg size (%q [ 4 ] ) // 5 - вторая размерность массива&lt;br /&gt;
 msg size (%q ) // 7 - первая размерность массива&lt;br /&gt;
 msg size ($q) // 10 - длина строки&lt;br /&gt;
 msg size (#q) // 2 - количество разрядов&lt;br /&gt;
 msg size ( another test string ) // 19 - длина строки&lt;br /&gt;
&lt;br /&gt;
'''2.19'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Исправил эксепшен при попытке записи пустого массива.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Массивы загружаются оттуда же, откуда и скрипты, если не указано иное.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Исправил ошибку с зарузкой массива (в результате чего оно дописывалось в конец существующего массива и он увеличивался с каждой загрузкой).&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Исправил ошибку присвоения элементам массива значаний похожих на вычисляемые, например '-', выскакивал эксепшен.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Поправил неправильную запись массивов. игнорировалось указанное количество столбцов. &lt;br /&gt;
&lt;br /&gt;
'''2.20'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил задание размера массива. если массив не существовал, то он создается. если необязательные параметры отсутствуют, то принимаются равными нулю. 'set size (%arr &amp;amp;lt;x&amp;gt; &amp;amp;lt;y&amp;gt;)'.&lt;br /&gt;
&lt;br /&gt;
'''2.21'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Научил условные операторы понимать элементы массива в качестве параметров. указание индексов массива элементами массива не поддерживается.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Научил условные операторы принимать элеменнты массива в качестве параметров для определения цвета точки. Пример:&lt;br /&gt;
 set %a[1] 110 120 8030463&lt;br /&gt;
 set %a[2] 110 120&lt;br /&gt;
 set %a[5 1] 110,&lt;br /&gt;
 set %a[5 2] 120,&lt;br /&gt;
 set %a[5 3] 8030463&lt;br /&gt;
 if (%a[1]) and (%a[2] 8030463) and %a[5]&lt;br /&gt;
&lt;br /&gt;
'''2.24.1'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил конструкции: &lt;br /&gt;
 set %b [2] %a [2] // присваивание второму элементу массива B, всех элементов второй строки массива А (оно и раньше работало)&lt;br /&gt;
 set %b %a [2] // создание одномерного массива В из второй строки массива А&lt;br /&gt;
 set %b %a // создание массива В из массива А (копирование)&lt;br /&gt;
&lt;br /&gt;
'''2.28'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил возможность передавать в подпрограммы массивы. следите за соответствием типов переменных&lt;br /&gt;
передаем массив по ссылке. т.е. изменение его в процедуре может привести к изменению в родительском скрипте.&lt;br /&gt;
но если в процедуре изменится его размерность, то теоретически после этого изменения произойдет передача по значению (копирование).&lt;br /&gt;
 set %var [1 1] abc&lt;br /&gt;
 set %var [1 2] 123&lt;br /&gt;
 set #e 1&lt;br /&gt;
 set delimiter '_'&lt;br /&gt;
 call test2 %var [1 2]  %var [#e]  %var  %var.5 &lt;br /&gt;
 end_script&lt;br /&gt;
 proc test2 #v1  $v2  %v3  %v4&lt;br /&gt;
     set delimiter '^'&lt;br /&gt;
     set logging Dump:  #v1  $v2  %v3 [1]  %v4 [1]&lt;br /&gt;
   // Dump:  123  abc_123  abc^123  abc^123&lt;br /&gt;
 end_proc&lt;br /&gt;
&lt;br /&gt;
'''2.30'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Если в качестве приемника в команде 'findwindow' указан массив, то записываем в него хендлы и имена ВСЕХ окон, в заголовке которых содержится указанная строка, или процессов, полностью совпадающих с указанным. Регистрозависимо.&lt;br /&gt;
 set %arr FindWindow (World of Warcraft)&lt;br /&gt;
Добавил команду присваивания нескольких элементов массива одной строкой 'init_arr &amp;amp;lt;массив&amp;gt; [(номер_строки [число_столбцов [начальный_столбец]])] &amp;amp;lt;набор_значений&amp;gt;'. разделителями слов считаются те же символы, что и в остальных командах. исходный массив не удаляется. отсутствующие параметры по-умолчанию принимаются равными '1'.&lt;br /&gt;
 init_arr %a 11 32 43 46 // одномерный массив, 4 эл-та (элементы [1] [2] [3] [4])&lt;br /&gt;
 init_arr %a (2) 13 24 35 // во 2-ю строку пишем в 3 столбца, начиная с 1-го (элементы [2, 1] [2, 2] [2, 3])&lt;br /&gt;
 init_arr %a (3, 2) 5 6 7 8 // в 3-ю строку пишем в 2 столбца, начиная с 1-го (получится 2 строки, элементы [3, 1] [3, 2] [4, 1] [4, 2])&lt;br /&gt;
 init_arr %a (3, 2, 7) 5 6 7 8 // в 3-ю строку пишем в 2 столбца, начиная с 7-го (получится 2 строки, элементы [3, 7] [3, 8] [4, 7] [4, 8]&lt;br /&gt;
Добавил поиск строки в массиве. по-умолчанию ищет точное совпадение, регистронезависимо. 'set %result indexOf ( %arr [noabs] [case] [[startRow [EndRow]] count] (text) )'.&lt;br /&gt;
 параметры:&lt;br /&gt;
     noabs - если указано, то ищем подстроку, иначе абсолютное совпадение, кроме регистра&lt;br /&gt;
     case  - если указано, то при сравнении учитывается регистр символов&lt;br /&gt;
     count - максимальное число найденых элементов. если &amp;gt; 0, то ищем в направлении &amp;quot;с начала&amp;quot;, если &amp;amp;lt; 0, то ищем в направлении &amp;quot;с конца&amp;quot;. если не указан, то ищем &amp;quot;все&amp;quot;. этот параметр имеет приоритет в порядке распознавания, над начальной и конечной позицией поиска.&lt;br /&gt;
ищет по столбцам. возвращает адреса найденных элементов в формате 'строка|столбец/'. пример: '3|7/3|8/4|7/4|8/'. его хорошо понимает команда 'set' для присваивания элементов массива пачкой. если ничего не найдено, то вернет пустую строку.&lt;br /&gt;
если в качестве приемника указана целая переменная ('set #e indexOf...'), то возвращаем номер только одной строки. причем 'count' указывает какое по порядку вхождение нужно искать. если элемент с указанным номером не найден, то результат -1.&lt;br /&gt;
 примеры: &lt;br /&gt;
    set #a indexOf ( %arr case -1 (Test) ) // ищет номер последнего элемента массива %arr, имеюшего значение в точности равное Test (с учетом регистра)&lt;br /&gt;
    set #b indexOf ( %arr (12) ) // ищет номер первого элемента массива %arr, имеюшего значение в точности равное 12&lt;br /&gt;
    set #c indexOf ( %arr noabs 3 (admin) ) // ищет номер третьего элемента массива %arr, содержащего подстроку 'admin'&lt;br /&gt;
    set %r indexOf ( %arr case 5 15  2 (Passed) ) // просматривает элементы массива %arr с пятой строки по пятнадцатую, и возвращает в массив %r адреса ячеек, содержащих первые два точных совпадения с искомой строкой&lt;br /&gt;
    set %r indexOf ( %a (14) ) // возвращает в массив %r адреса всех ячеек, сорвпадающих с указанной строкой&lt;br /&gt;
&lt;br /&gt;
'''2.31'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Починил возврат массивов из процедур, при изменении в процедуре последней колонки или строки массива.&lt;br /&gt;
&lt;br /&gt;
'''2.32'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил в 'findimage' возврат конечных координат найденной картинки в третьем и четвертом элементе возвращаемого массива.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил проверку на круглость скобок в команде 'init_arr'. Сообщение выводим, но выполнение не прерываем.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Исправил обязательное наличие пробела перед скобками в команде 'init_arr'.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил функции разложения цвета:&lt;br /&gt;
 colorToRed   (color) - возвращает значение красного канала указанного цвета&lt;br /&gt;
 colorToGreen (color) - возвращает значение зеленого канала&lt;br /&gt;
 colorToBlue  (color) - возвращает значение синего канала&lt;br /&gt;
 colorToRGB   (color %arr) - разлаживает цвет на составляющие в первую строку указанного массива&lt;br /&gt;
 colorToRGB   (color %arr[x]) - то-же, но в конкретную строку // %arr [ 1 1 ] R, %arr [ 1 2 ] G, %arr [ 1 3 ] B&lt;br /&gt;
Научил функцию 'minx' и 'maxx' искать минимум и соответственно максимум в массиве.&lt;br /&gt;
 minx (%arr [1]) - возвращает минимальное значение конкретной строки массива&lt;br /&gt;
 minx (%arr) - возвращает минимальные значения всех столбцов массива в формате '1|2|3' (для присваивания массива пачкой), т.е. в первую строку нового массива.&lt;br /&gt;
То же самое про 'maxx', только наоборот.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил вывод в скобках значения элемента массива после его имени, для команды 'set logging commands'.&lt;br /&gt;
&lt;br /&gt;
'''2.31'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Научил 'findimage' понимать координаты, указанные элементами массива.&lt;br /&gt;
&lt;br /&gt;
'''2.33'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Исправил поиск элемента во всем массиве в функциях 'minx' и 'maxx'.&lt;br /&gt;
&lt;br /&gt;
'''2.36'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил возврат найденного цвета в третьем элементе массива в команде 'findcolor'.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил функцию, возвращающую адрес массива в памяти, и его размерность &amp;quot;set $s arrayaddress (%a) // $s = 12341578 1 1&amp;quot;. Структура массива: &lt;br /&gt;
 aDescr: shortstring ;&lt;br /&gt;
 aValue: array of array of string;&lt;br /&gt;
&lt;br /&gt;
'''2.37'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил возможность сортировки массивов 'sort_array %array [+col | -row] [dec]'. Положительное число задает сортировку по столбцам, отрицательное - по строкам.&lt;br /&gt;
&lt;br /&gt;
'''2.39'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил присваивание строке массива строки вида '3|7/3|8/4|7/4|8/'.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Массивы]]&lt;/div&gt;</summary>
		<author><name>Tatikoma</name></author>
		
	</entry>
</feed>