首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostScript ==算子

PostScript ==算子
EN

Stack Overflow用户
提问于 2015-06-05 09:13:06
回答 2查看 399关注 0票数 1

==的值不是一个运算符,而是一个内置过程。

PLRM第526页(pdf第540页)。

一个内置过程,这是否意味着这是一个PostScript过程:

代码语言:javascript
复制
{ something here }

或者是一个实际的函数,例如在Java中,您必须定义自己?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-06 19:23:08

您可以查看使用/== load ==实现的鬼怪脚本。

或者把弗兰克·梅里特·布拉斯韦尔的书放进后记里。它包含了关于==过程如何在Adobe打印机实现中工作的整个章节。

但是,简单的框架基于type操作符的属性,该操作符生成一个类型名称。更具体地说,它生成一个可执行名称,该名称指定参数的类型。因此,您可以使用字典轻松地实现类型切换。

代码语言:javascript
复制
<<
    /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

不同类型的对象导致执行不同的过程。

使用它,我们可以处理可能传递给过程的不同类型。

代码语言:javascript
复制
/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提供参数。

票数 5
EN

Stack Overflow用户

发布于 2015-06-05 12:50:00

这是个程序。

我不会说Java,但是在PostScript中,如果它是可执行的,并且它不是操作符(语言的一部分),那么您必须自己定义它。

注意,在PostScript中也可以重新定义操作符,所以仅仅因为它有一个操作符的名称,并不意味着它是--一个运算符,它可能仍然是一个过程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30662694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档