PostScript является открытым языком - это означает, что вы можете добавлять в ассортимент его команд новые операторы и другие объекты. Эти новые объекты становятся действенной частью языка на все время работы с вашим сценарием. Такая возможность упрощает создание сценариев и делает более эффективной их интерпретацию на PostScript.

Для создания нового объекта нужно пометить в стек следующие три элемента:

1. Слэш («/»), за которым следует новое имя для объекта.

2. Определение самого объекта.

3. Ключевое слово def.

В этом разделе мы покажем, как определять два типа объектов: переменные и процедуры.

1020

Приложение Г. Введение в PostScript® Г4.1. Определение переменных

При помощи ключевого слова def легко определить переменную или изменить ее значение. Пусть, например, нам требуется определить переменную num с начальным значением 251 и поместить ее в сценарий. Оператор def выполняет весьма специализированные действия: он выталкивает из стека два верхних элемента и добавляет в словарь языка новый компонент к уже имеющимся в нем словам. В нашем примере слово num добавляется в словарь и ассоциируется со значением 251. Более поздние ссылки на слово num (уже без слэша), например, 34 num add, предписывают PostScript отыскать значение переменной num и протолкнуть его в стек. Если в момент выполнения этого оператора значение переменной num по-прежнему равно 251, то в стек проталкивается значение 285.

/пит 251 def

Символ слэш («/») указывает, что /пит является литералом (literal), так что в стек фактически проталкивается имя num, а не его значение.

Какие имена допустимы для новых элементов? Это может быть любая последовательность символов, которую нельзя интерпретировать как число. Вот примеры допустимых имен: Merilee, meriLee, somethingl23, 2$abe. (В то же время для упрощения работы со сценариями следует выбирать осмысленные и удобочитаемые имена.)

Изменение значения переменной производится посредством ее переопределения. Если переменная num была определена со значением 251, то переопределение


⇐ Предыдущая| |Следующая ⇒