==的值不是一个运算符,而是一个内置过程。
PLRM第526页(pdf第540页)。
一个内置过程,这是否意味着这是一个PostScript过程:
{ something here }或者是一个实际的函数,例如在Java中,您必须定义自己?
发布于 2015-06-06 19:23:08
您可以查看使用/== load ==实现的鬼怪脚本。
或者把弗兰克·梅里特·布拉斯韦尔的书放进后记里。它包含了关于==过程如何在Adobe打印机实现中工作的整个章节。
但是,简单的框架基于type操作符的属性,该操作符生成一个类型名称。更具体地说,它生成一个可执行名称,该名称指定参数的类型。因此,您可以使用字典轻松地实现类型切换。
<<
/integertype { } % handle integer case
/realtype { } % handle floating-point case
/arraytype { } % handle array case
>> begin
5 type exec
2.0 type exec
{a b c} type exec不同类型的对象导致执行不同的过程。
使用它,我们可以处理可能传递给过程的不同类型。
/my== {
<<
/integertype { =string cvs print }
/realtype { =string cvs print }
/arraytype { dup xcheck {
({ ) print {my==} forall (} ) print
}{
([ ) print {my==} forall (] ) print
} }
>> begin dup type exec
} def=string (在书中描述)是一个预先分配的128个字节的划痕缓冲区,由=和==过程用于此目的:向cvs提供参数。
发布于 2015-06-05 12:50:00
这是个程序。
我不会说Java,但是在PostScript中,如果它是可执行的,并且它不是操作符(语言的一部分),那么您必须自己定义它。
注意,在PostScript中也可以重新定义操作符,所以仅仅因为它有一个操作符的名称,并不意味着它是是--一个运算符,它可能仍然是一个过程。
https://stackoverflow.com/questions/30662694
复制相似问题