Синтаксис: строка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
возвращает координаты текущей точки.