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

         

Переменные.



Переменные.

Чтобы определить переменную в PostScript, ее имя и значение нужно занести в текущий словарь. Это делается с помощью оператора def, как в следующем примере:

/ed 47 def

Косая черта перед именем переменной показывает, что интерпретатору следует поместить это имя в стек как литерал и не пытаться сразу же искать его в словаре. Вслед за именем в стек заносится число 47. И наконец def берет оба эти объекта из стека и помещает их в текущий словарь. Второй элемент стека (ed) становится ключом, с которым ассоциировано значение первого элемента (47). На первый взгляд это больше похоже на определение константы, чем переменной. Однако определенное с помощью def значение переменной может быть изменено либо новым оператором def, либо другими операторами, например:

/ed 52 def

Посмотрим на примере, как PostScript работает с новой переменной. Если дальше в программе появится строка:

13 ed add

то интерпретатор сделает следующее:

1) поместит число 13 в стек;

2) найдет в стеке словарей значение для ключа ed и поместит его в стек;

3) сложит два числа из вершины стека, заменив их полученной суммой.

Следующий оператор умножает значение переменной ed на 5:

/ed ed 5 mul def

Задание. Используя приведенные выше правила, определите содержимое стека в каждый момент выполнения этой строки.



Содержание раздела