Эта фраза замечательна тем, что мы с детства получаем представление о рекурсии. PostScript поддерживает рекурсивный вызов процедур, т. е. когда процедура вызывает сама себя. Классический пример -- вычисление факториала:
/factorial % в стеке n
{dup 1 gt
{ dup 1 sub factorial mul} if
} def
% вызов
5 factorial
cvs show
Новый оператор cvs преобразует число из вершины стека и помещает его в заданную строку. Дело в том, что оператор show может печатать только строки. Кроме чисел, cvs преобразует и логические величины -- они заменяются в зависимости от значения словами true или false. Вот пример процедуры, печатающей целое число из стека:
/printint
{( ) cvs show} def % строка первоначально содержит 3 пробела
Оператор string создает строку длиной n. Определение строковой переменной выглядит так:
/nstr 7 string def
где 7 -- длина строки (знаков).
Рекурсивный вызов процедур даёт возможность рисовать фрактальные картинки, но это мы попробуем сделать на следующем занятии, когда изучим конструкции циклов.