PostScript语言教程(七、条件语句)

POSTSCRIPT语言中有许多操作符用于制定程序内流的控制。我们在前一章使用了一个repeat运算。所有的控制操作符都使用了之前简要提到的对象类型,即函数,用于我们调用。

7.1、函数

函数(既过程)是一个数组,其内容由解析器执行。

当解析器在程序中遇到一系列对象(值和名称)时,它执行与这些指令相应的操作,将对象放在堆栈上,查找和执行操作符和过程。

但是如果一系列对象用括号括起来,则不会立即执行,而是放在堆栈上。

86 23 add

该行使解析器将数字86和23相加

{86 23 add}

当执行置放时,操作符添加一个程序块,然后放在堆栈上,函数通常跟字面名称,后边跟def运算符,def运算符将其与当前所保存的名称相连(这就是函数的定义)。  

7.2、条件语句

7.2.1、比较

POSTSCRIPT提供了一套比较完整额比较运算符,这些比较栈上的前两个项目,可以是任何类型,返回一个布尔类型的对象在堆栈上。他们的等效数学符号为:

eq =;  ne ≠;  gt >;  lt <;  ge ≥; le≤;

7.2.2、if

例:检查是否到达当前行的末尾

/chkforendofline
{  currentpoint pop     %获取x的位置
    612 gt              %是否大于612
    {0 -12 translate 0 0 moveto} if
}def

执行取出当前的x,比较看是否大于612(即本行的末尾),如果大于,则将原点移动到下一行的开头,当前点移动到原点的位置。

  

 

猜你喜欢

转载自www.cnblogs.com/Ansing/p/10019037.html