我有一个代码段,上面写着:
input encrypt test
其中输入是一个字符串,加密是(我假设)一个函数,而测试是(我再次假设)一个字符串。我对Postscript完全陌生,但是上面的语法等同于:
if encrypt(input) == test:
return True
谢谢
答案 0 :(得分:0)
是的,是的。通过调试发现,但可能对其他人有用。
为澄清起见进行编辑:在我的情况下,encrypt
实际上是一个将字符串作为输入并定义字符串的函数。 test
将字符串作为输入并返回一个布尔值,因此在我的情况下它为什么起作用。
答案 1 :(得分:0)
由于input
,encrypt
和test
都不是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内置命令,因此尚不清楚您的问题和答案可能对其他人有用。