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

         

Оператор anchorsearch



Оператор anchorsearch

определяет, совпадает ли начальная подстрока строки1 со строкой2. (в этом случае строка1 как минимум равна по длине строке2 и соответствующие символы совпадают). Если совпадает, то строка1 разбивается на две подстроки в одну из которых помещается совпавшая часть, а в другую остаток строки1.

Синтаксис: строка1 строка2 anchorsearch à

остаток совпавшая_часть true (если найдена)

строка1 false (если не найдена)

Примеры.

(edward) (ed) anchorsearch à (ward) (ed) true

(edward) (dw) anchorsearch à (edward) false

Более общую форму поиска даёт оператор search. Он позволяет найти первое вхождение строки2 в строку1. Результат поиска как и у anchorsearch возвращается в стеке операндов. При этом в вершине стека находится результат операции (true или false), а строка1 разбивается на 3 сегмента: часть строки до совпавшей подстроки (pre), совпавшая подстрока (match) и остаток строки (post).

Синтаксис: строка1 строка2 search à

post match pre true (если найдена)

строка1 false (если не найдена)

Примеры.

(edward) (ed) search à (ward) (ed) () true

(edward) (dw) search à (ard) (dw) (e) true

(edw) (W) search à (edw) false

В одном из писем читатель спросил, нет ли ещё каких-либо операторов отсечения, так как тех, что были описаны в уроках, ему недостаточно. Вот некоторые из них:

- reversepath à -

изменяет направление текущего пути;

- pathbox à llx lly urx ury

возвращает границы области текущего пути;

- currentpoint à x y

возвращает координаты текущей точки.



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