如何将堆栈的全部内容复制到 PostScript 中的数组中

How to copy the entire contents of the stack into an array in PostScript

简单明了:如何在 PostScript 中将堆栈的内容复制到数组中?

首先你需要做一个足够大的数组来容纳所有的元素,所以你需要使用count来找出有多少个元素。然后你需要创建一个那个大小的数组,最后你需要把数组中的所有元素。

我不太清楚是否要让堆栈不受干扰,所以这里有两种方法:

%!
count        % Count elements on stack - stack contains <elements...> n
array        % Create array of that size - stack contains <elements...> []
astore       % Move all elements from stack to array - stack contains [<elements...>]

现在,如果您想让堆栈不受干扰:

%!
count        % Count elements on stack - stack contains <elements...> n
array        % Create array of that size - stack contains <elements...> []
astore       % Move all elements from stack to array - stack contains [<elements...>]
aload        % Push elements from array to stack - stack contains <elements...> [<elements...>]