3.13. VECTOR: РАБОТА С ВЕКТОРАМИ
$func VECTOR e.Source = s.Vector;
$func VECTOR-TO-EXP s.Vector = e.Exp;
$func VECTOR-INIT s.Vector s.Len e.Fill = ;
$func VECTOR-FILL s.Vector e.Fill = ;
$func VECTOR-LENGTH s.Vector = s.Len;
$func VECTOR-REF s.Vector s.Index = e.Exp;
$func VECTOR-SET s.Vector s.Index e.Exp = ;
$func VECTOR-REPLACE s.Vector e.Source = ;
$func SUBVECTOR s.Vector s.Index s.Len = s.NewVector;
$func SUBVECTOR-FILL s.Vector s.Index s.Len e.Fill = ;
Если хотя бы одно из этих условий не выполнено, результатом функций является
$error(Fname "Invalid argument"), где Fname - имя функции. В каждый момент времени вектор содержит конечную (может быть пустую) последовательность объектных выражений, которую мы будем называть содержимым вектора. Если вектор содержит последовательность из N+1 объектных выражений Oe0, Oe1, ..., OeN, мы будем говорить, что вектор имеет длину N+1, а содержимое вектора будем изображать в виде(Oe0)(Oe1) ... (OeN)
Таким образом, компоненты вектора Oe0, Oe2, ..., OeN нумеруются, начиная с нуля.Преобразованное таким образом значение параметра
e.Source становится содержимым нового вектора.Состояние исходного вектора при этом не меняется.