如何转到 RPGLE 循环中的下一个元素?
How do I go to next element in a loop in 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;
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
假设您有以下代码:
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;
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