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


Арифметические операторы - часть 2


 

Действия над стеком.

Эта группа операторов, представителем которой был exch добавляет, удаляет и изменяет порядок следования элементов в стеке.

 

clear      а1 а2 clear  -

очистка стека - удаляет из стека все элементы          11 6 17 clear -> -

count        a1...an count a1...an n

число элементов в стеке

dup           a1 dup a1 a1

дублирует в стеке его верхний элемент                     8 dup -> 8 8

pop           a1 pop -

удаляет из стека его верхний элемент                        31 4 pop -> 31

roll           

вращает элементы стека, из стека извлекаются два числа. Верхнее говорит сколько раз и в каком направлении вращать элементы стека, второе - сколько элементов вращать.

7 8 9 3 1 roll -> 9 7 8

7 8 9 3 - 1 roll -> 8 9 7

copy          a1...an n copy a1...an a1...an

дублирует n верхних элементов стеков

Существует еще ряд более специального вида операторов, работающих со стеком, они будут рассмотрены по мере изложения.

Ряд принтеров, например Apple LaserWriter, позволяет интерактивно с ними взаимодействовать. Вот операторы для этого:

== удаляет элемент из вершины стека и отображает его на экране.

Pstack - печатает все содержимое стека, не изменяя его.

Pstack и == являются полиморфными операторами, так как они в качестве операндов принимают объекты многих типов.

 




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