- Вывод текста
- Программирование
- Оформление
- Расширенные возможности
- Нюансы написания игр под разные плееры
-
- x AeroQSP
- Утилиты и средства разработки
Это старая версия документа.
яблоки = 0 !эквивалентно яблоки[0] = 0
$яблоки[0]='антоновка' $яблоки[1]='белый налив' $яблоки[2]='астраханское' $яблоки[3]='ранетка' $яблоки[4]='симиренко' сорт_яблока[0] = 1 сорт_яблока[1] = 2 сорт_яблока[2] = 4 *pl $яблоки[сорт_яблока[номер_яблока]]
$любимый_сорт['иван'] = $яблоки[2] любимое_число['Алексей'] = 5 $item_loc['палка'] = 'лес'
$objs[] = 'Напильник' &! Если массив был пустой, то $objs[] = 'Топор' &! [0] = 'Напильник', $objs[] = 'Доска' &! [1] = 'Топор', [2] = 'Доска'
$a = $objs[] &! 'Доска' из примера выше a = сорт_яблока[] &! 4 из примера выше
Примечание: При добавлении в массив элемента со строковым индексом1) элемент добавляется в конец массива. Настоятельно не рекомендуется сочетать числовые и строковые индексы в пределах одного массива.
Примечание: В силу особенностей платформы числовые и текстовые массивы связаны между собой: добавление элемента в 'массив' добавляет пустой элемент в '$массив' и наоборот со всеми вытекающими последствиями.
Примечание: Настоятельно не рекомендуется использовать большие числовые индексы без необходимости.
KILLVAR
KILLVAR 'a'
KILLVAR 'a',3
COPYARR [$массив-приёмник],[$массив-источник] - копирование содержимого массива в другой массив. Копируются как текстовые, так и числовые значения массива. Размер массива-приёмника при копировании не имеет значения. Примеры:
COPYARR '$a','$b'
COPYARR 'a','b'
COPYARR $arrname1,$arrname2
COPYARR 'a«$arrname1»','a«$arrname2»'
ARRSIZE([$выражение]) - возвращает число элементов в массиве с названием [$выражение].
ARRPOS([#выражение 1],[$выражение 2],[выражение 3]) - возвращает индекс элемента массива с названием [$выражение 2], равного значению выражения [выражение 3]. Поиск начинается с элемента номер [#выражение 1]; индексация элементов массива ведётся с нуля. Параметр [#выражение 1] может отсутствовать, при этом он принимается равным 0. Если указанное значение не найдено, функция возвращает -1.
Чтобы найти числовое значение в массиве, нужно в [$выражение 2] подставить лишь название массива (в кавычках), для строкового - название массива с символом "$" перед его названием. Примеры:
ARRPOS(0,'$A','This') - найдёт строку 'This' в текстовых значениях массива "A" (или вернёт -1, если такого значения не существует)
ARRPOS(2,'A',65) - найдёт число 65 в числовых значениях массива "A" (при этом первые два элемента массива игнорируются)
ARRPOS('$B','test') - поиск строки 'test' среди текстовых значений массива "B"
См. также функции "MAX, MIN" (раздел "Базовые функции языка QSP"), функцию "ARRCOMP" (раздел "Функции, работающие с регулярными выражениями") и операторы для работы с переменными / массивами (здесь).
Функции, использующие регулярные выражения
Top Previous Next
ARRCOMP([#выражение 1],[$выражение 2],[$выражение 3]) - возвращает индекс элемента массива с названием [$выражение 2], соответствующего регулярному выражению [$выражение 3]. Поиск начинается с элемента номер [#выражение 1]; индексация элементов массива ведётся с нуля. Параметр [#выражение 1] может отсутствовать, при этом он принимается равным 0. Если элемент не найден, функция возвращает -1.
Поиск происходит среди текстовых элементов массива. Примеры:
ARRCOMP(0,'A','This') - найдёт строку 'This' среди текстовых элементов массива "A" (или вернёт -1, если такого значения не существует)
ARRCOMP(2,'A','abc\d+') - найдёт строку, соответствующую регулярному выражению "abc\d+", в текстовых значениях массива "A" (первые два элемента массива игнорируются)
ARRCOMP(0,'A','.*string.*') - аналогично предыдущему примеру, но поиск осуществляется по всем текстовым элементам массива
ARRCOMP('A','This') - эквивалентно 1му варианту
Вперёд: