Как перейти к следующему элементу цикла в RPGLE? - PullRequest
2 голосов
/ 12 апреля 2019

Допустим, у вас есть следующий код:

FOR I = 1 to 10;
  // some code here
ENDFOR;

Как бы вы пропустили элемент? В настоящее время использование GOTO работает, но мне не нравится это решение. Например:

   FOR I = 1 to 10;
     IF I = 4;
C                   GOTO      NEXTONE
     ENDIF;

     // some code here

C     NEXTONE       TAG   
   ENDFOR;

1 Ответ

9 голосов
/ 12 апреля 2019

Операция ITER передает управление из группы DO или FOR в оператор ENDDO или ENDFOR группы.Его можно использовать в циклах DO, DOU, DOUxx, DOW, DOWxx и FOR для немедленной передачи управления в оператор цикла ENDDO или ENDFOR.Это приводит к немедленному выполнению следующей итерации цикла.ITER влияет на самый внутренний цикл.

https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/rzasd/zziter.htm

...