Постскриптумное условие теста - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть фрагмент кода, который говорит:

input encrypt test

, где input - строка, шифрование - (я предполагаю) функция, а проверка - (я предполагаю снова) строка.Я полностью новичок в postscript, но будет ли приведенный выше синтаксис эквивалентен:

if encrypt(input) == test:
    return True

Спасибо

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Поскольку ни одна из 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, неясно, как ваш вопрос и ответ могут быть полезны для других.

0 голосов
/ 13 ноября 2018

Да, да, это так.Обнаружено путем отладки, но может быть полезно для кого-то еще.

Редактировать для пояснения: в моем случае encrypt действительно функция, которая принимает строку в качестве входных данных и определяет строку.test принимает строку в качестве входных данных и возвращает логическое значение, поэтому и работает в моем случае.

...