如何在Postscript中将变量打印到stdout

时间:2016-02-13 11:09:36

标签: postscript

我可以将字符串打印到stdout,如下所示:

(%stderr) (w) file dup (a_string\n) writestring closefile

但我似乎无法做到

(a_string)
(%stderr) (w) file dup pop writestring closefile

或类似的东西。

请帮忙吗?

2 个答案:

答案 0 :(得分:3)

首先,你写信给stderr。要写入stdout,请使用(%stdout)作为特殊设备。

但是,如果您要写入stdout,只需使用=print(如果您不想换行)。

要实际使用writestringclosefile,请先放置文件,然后dup然后将字符串放在堆栈上。

(%stderr) (w) file dup  % f f
(string)                % f f s
writestring             % f
closefile               %

如果字符串已经在堆栈中,你可以做一点点杂耍,以便按正确的顺序获取这些部分。

(string)                % s
(%stderr)(w)file        % s f
exch                    % f s
1 index                 % f s f
exch                    % f f s
writestring
closefile

exch 1 index exch也可以写成dup 3 2 roll

此外,永远不需要关闭stdin,stdout或stderr。所以你可能会失去这一部分。

(%stderr)(w)file (string) writestring

答案 1 :(得分:0)

我相信你需要将你的pop更改为exch:

(a_string)
(%stderr) (w) file dup exch writestring closefile
相关问题