#loops #rpgle
#циклы #rpgle
Вопрос:
Допустим, у вас есть следующий код:
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.
ITER
перейдите к следующему.LEAVE
завершите цикл.
Ответ №1:
Операция 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