Как скопировать все содержимое стека в массив в PostScript - PullRequest
0 голосов
/ 27 января 2019

Просто и понятно: как скопировать содержимое стека в массив в PostScript?

1 Ответ

0 голосов
/ 27 января 2019

Сначала вам нужно сделать массив достаточно большим, чтобы вместить все элементы, поэтому вам нужно использовать 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...>]
...