Распространенной идиомой является использование литеральной строки в качестве шаблона.
1.42857 ( ) cvs show
Вы можете даже сделать форматированный вывод, представив cvs с различными подстроками большей строки.* Но Руководство по стилю Ghostscript запрещает это.И это в значительной степени единственное опубликованное Руководство по стилю PostScript, которое у нас есть.( Обсуждение этого в comp.lang.postscript.) Таким образом, общая рекомендация состоит в том, чтобы выделить новую строку, когда вам это нужно, и позволить сборщику мусора заработать свою память.* В крайнем случае, действительно ленивый хакер перехватит =string
, встроенный 128-байтовый буфер, используемый =
и ==
для вывода чисел (используя, конечно, нашего друга cvs
).
5.71428 =string cvs show
И если вам нравится этот, вы можете комбинировать его с другим приемом =
: сразу оценивать имена.
{ 7.14285 //=string cvs show } % embed =string in this procedure
Это сбрасывает лишнюю микросекунду и делаетгораздо сложнее интерактивно проверить код.Вызов ==
для этой процедуры не выявит того факта, что вы используете =string
;это выглядит как любая другая строка.
Еще один трюк для сумки, из пост Хельге Блишке в comp.lang.postscript .Это простой способ получить нулевое целое число.
/bindec % <integer> bindec <string_of_length_6>
{
1000000 add 7 string cvs 1 6 getinterval
}bind def