Определение массива
В массиве может содержаться любое количество элементов, каждый любого типа, любой элемент тоже может являться массивом, тогда такой массив называется вложеным.
a = #() --ПУСТОЙ МАССИВ
a = #(5, "four", pi, 11.17) --МАССИВ С ЭЛЕМЕНТАМИ
a[index_int] --ЭЛЕМЕНТ МАССИВА, index_int - НОМЕР ЭЛЕМЕНТА (ЦЕЛОЕ ЧИСЛО, НУМЕРАЦИЯ С 1)

Например: a[2] возвращает "four"

Операции с массивами
ОперацияОписание
<collection> as arrayконвертирует коллекцию в массив
<array>.countчисло элементов в массиве (можно установить свое значение - тип integer)
<array>[integer]возвращает элемент массива. Номера начинаются с 1
<array>[integer] = <value>заносит значение в элемент массива, увеличивая число элементов по необходимости
<array> + <collection>создает новый массив из первого и второго аргументов
 Примеры: a=#(1,2,3,4); join a #(5,6,7,8); (cameras as array) + lights

Методы работы с массивами
МетодОписание
append <array> <value>добавляет величину к массиву, увеличивая его размер
copy <array> [#noMap]создает копию всех элементов массива. Возвращает значение OK. Если задан параметр #noMap,
  создается только копия переменной массива, которая ссылается на элементы исходного массива.
deleteItem <array> \стирает элемент массива, уменьшая его размер на 1
<number> 
join <array> <collection> присоединяет все элементы второго аргумента к первому
amin (<array> | {value})возвращает минимальное значение из элементов массива или набора величин.
 Если в массиве нет элементов или набор величин не задан, возвращается значение undefined
 Примеры: myMin=amin #(5,1,4,2,8); myMin1=amin 5 1 4 2 8
amax (<array> | {value})возвращает максимальное значение из элементов массива или набора величин.
 Если в массиве нет элементов или набор величин не задан, возвращается значение undefined
findItem <array> <value>ищет элемент массива, равный заданной величине, и возвращает или номер первого такого элемента
  или ноль (zero), если элемент не найден.
insertItem <value> \вставляет значение в элемент с указанным номером, при необходимости увеличивая размер массива
<array> <integer> 
sort <array>сортирует элементы массива по возрастанию. (Все элементы должны быть одного типа)
qsort <array> <function> \сортирует массив, используя заданную пользователем функцию для сравнения двух элементов.
[start: integer] [end: integer] \У этой функции необходимо определить два аргумента на входе, а возвращать она должна целое число
[args]меньше нуля, если первый аргумент меньше второго, больше нуля, если наоборот и 0, если они равны.
 Если не задан начальный и конечный номер, массив сортируется целиком.

Пример: скрипт создает 10 случайных трехмерных координат, а потом сортирует их в зависимости от расстояния до точки [0,0,0]

positions=for i=1 to 10 collect (random [0,0,0] [100,100,0])

fn compareFN v1 v2 =
(
local d=(length v1)-(length v2)
case of
 (
 (d<0.): -1
 (d>0.): 1
 default: 0
 )
)

qsort positions compareFN
for p in positions do print p