如何做一个postscript递归循环

时间:2014-09-07 20:19:29

标签: loops recursion stack postscript

我是后记新手。什么是递归调用自身的函数的格式。假设我有一个名为square的函数可以打印出一个正方形。 5平方//打印出5个方块

我认为5将成为筹码的顶端。每次重复都会减少该数字,直到达到0。如果有更简单的方法,请告诉我。

2 个答案:

答案 0 :(得分:1)

%!PS-
%
% int myfunction -
% Executes recursively 'int' times
%
/myfunction {
  dup ==           % Print out the current 'int' just to show we're doing something
  1 sub            % decrement 'int' by 1
  dup 0 gt         % copy 'int' and test to see if its 0
  {                %   not 0, so recurse, the copy on the stack is the new 'int'
     myfunction    % execute recursion
  } {
    pop            %   The copy of 'int' was 0,so remove the copy from the stack
  } ifelse
} bind def

5 myfunction

或者您可以使用循环执行代码块5次。

答案 1 :(得分:0)

/go 
{
    /cnt { 1 add dup == } def
    0
    { cnt } loop
} def

% start by calling go
go

一个简单的无限计数器,你应该开始