Семь уроков по PostScript


Траектория отсечения - часть 5


Пример.

/mydict 10 dict def

mydict /A 65 put

Обратное действие выполняет оператор get. С его помощью можно получить значение элемента массива, строки или по ключу найти соответствующее значение в словаре.

Синтаксис:

массив индекс put à

значение

словарь ключ put à

значение

строка индекс put à

целое

Пример.

/abc [1 2 3] def

currentdict /abc get à [1 2 3]

Со словарём очень интересно работает также оператор forall. Ранее его действие рассматривалось только по отношению к массиву, но он, как и два предыдущих оператора, работает и со словарями, и со строками.

Синтаксис:

массив proc forall à

-

словарь proc forall à

-

строка proc forall à -

 

Если первый операнд — словарь, то forall помещает ключ и значение в стек операндов и выполняет заданную процедуру (proc) над каждой парой ключ--значение в словаре. Если процедура пустая "{}", то таким образом все пары из словаря просто переписываются в стек операндов.

 

Объекты типа operator

 

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

Другие типы объектов (name, file, mark, null, save, fontID), которые не были рассмотрены до сих пор, мы изучим в разделах, с ними непосредственно связанных. Но вот что важно для объектов всех типов: каждый объект кроме типа и значения имеет один или несколько атрибутов, которые влияют на поведении объекта при его исполнении или когда над ним выполняются определённые операции (кроме случая, когда объект рассматривается только как данные).

 

Атрибуты объекта

 

Каждый объект либо литерал (literal), либо исполняемый(executable). Это важно для интерпретатора при исполнении PostScript-программы. Отметим, что при такие операторы, как "[" и "]" создают литеральные объекты, а операторы "{" и "}" – исполняемые. Другим атрибутом объекта является тип доступа (access) к нему. Имеется четыре типа доступа (расположены в списке по возрастанию ограничений): неограниченный (unlimited), только чтение (read only), только исполнение (execute-only) и без доступа (none).




- Начало -  - Назад -  - Вперед -



Книжный магазин