后记测试条件

时间:2018-11-13 09:15:14

标签: postscript

我有一个代码段,上面写着:

input encrypt test

其中输入是一个字符串,加密是(我假设)一个函数,而测试是(我再次假设)一个字符串。我对Postscript完全陌生,但是上面的语法等同于:

if encrypt(input) == test:
    return True

谢谢

2 个答案:

答案 0 :(得分:0)

是的,是的。通过调试发现,但可能对其他人有用。

为澄清起见进行编辑:在我的情况下,encrypt实际上是一个将字符串作为输入并定义字符串的函数。 test将字符串作为输入并返回一个布尔值,因此在我的情况下它为什么起作用。

答案 1 :(得分:0)

由于inputencrypttest都不是PostScript内置命令,因此无法确定它们的作用。鉴于该语言的工作方式以及您对input是字符串的断言,类似Python的等效项有以下几种可能性:

test(encrypt(input))  % test and encrypt are functions of one argument

test(encrypt, input)  % encrypt is a function with no arguments

encrypt(input); test()  % encrypt returns nothing

encrypt(); test(input)  % encrypt() takes no arguments, returns no values

encrypt(input); next_fn(test)

etc.

但是我不知道怎么回事:

if encrypt(input) == test:

使用PostScript基于堆栈的语法,除非该序列有更多内容:

input encrypt test eq

那么它可以评估为:

eq(test, encrypt(input))

将与您的结论相符的。但是,由于eq不是您序列的一部分,并且所列的命令都不是PostScript内置命令,因此尚不清楚您的问题和答案可能对其他人有用。