Un idioma común es el uso de una cadena literal como plantilla.
1.42857 ( ) cvs show
Incluso puede hacer una salida formateada presentando cvs con varias subcadenas de una cadena más grande.
%.......
(2/7 = ) dup 6 7 getinterval
2.85714 exch cvs pop show
Pero el Ghostscript Style Guide lo prohíbe. Y es prácticamente la única guía de estilo Postscript publicada que tenemos. (A discussion about this en comp.lang.postscript.) Por lo tanto, una recomendación común es asignar una nueva cadena cuando la necesite y dejar que el recolector de basura se gane.
4.28571 7 string cvs show
Como último recurso, el hacker verdaderamente perezosa secuestrar =string
, la incorporada en el búfer de 128 bytes utilizado por =
y ==
a números de salida (utilizando, por supuesto, nuestro amigo cvs
).
5.71428 =string cvs show
Y si te gusta que uno, que se puede combinar con =
's otro truco: nombres evaluados inmediatamente.
{ 7.14285 //=string cvs show } % embed =string in this procedure
Esto reduce ese microsegundo extra y hace que sea mucho más difícil inspeccionar interactivamente el código. Llamar al ==
en este procedimiento no revelará el hecho de que está usando =string
; se ve como cualquier otra cadena.
un truco más para la bolsa, desde a post by Helge Blischke in comp.lang.postscript. Esta es una forma simple de obtener un entero cero rellenado.
/bindec % <integer> bindec <string_of_length_6>
{
1000000 add 7 string cvs 1 6 getinterval
}bind def
"1000000 agregar 7 cuerdas cvs 1 6 getinterval" - Buen truco :-) –