在COBOL中,是否可以递归调用段落?

zur*_*ram 5 recursion cobol mainframe

在IBM Mainframe的COBOL中,可以递归地调用段落吗?

200-PARAGRAPH SECTION.

    IF WS-COUNTER < 10
       ADD 1 TO WS-COUNTER
       PERFORM 200-PARAGRAPH
    ELSE
       DISPLAY 'I'M DONE'
    END-IF.

 200-EXIT.
    EXIT.
Run Code Online (Sandbox Code Playgroud)

小智 5

检查当前的COBOL语言参考,但是AFAIR参数不能执行自身。措辞就像是您将获得不可预测的结果,因为不支持递归。

如果您需要遍历相同的代码,也许您需要重构以使用PERFORM UNTIL?

  • `注意:PERFORM语句一定不能使其自身被执行。递归PERFORM语句可能导致不可预测的结果。 (2认同)