Пример использования continue

report ztx1013.

parameters p(20) default 'c::\\\xxx\\yyy'.

data: c, "current character

n. "next character

do 19 times varying c from p+0 next p+1

varying n from p+1 next p+2.

if c na ':\'.

continue.

endif.

if c = n.

write: / 'duplicate', c, 'found', 'at position', sy-index.

endif.

enddo.

duplicate: found at position 2

duplicate \ found at position 4

duplicate \ found at position 5

duplicate \ found at position 10

Оператор check (проверки)

Оператор check используется в пределах цикла. Он может действовать как оператор continue, передавая управление на начало следующей итерации цикла. В отличие от continue он имеет логическое выражение. Если выражение - истина, оно ничего не делает. Если - ложно, то переходит на начало следующей итерации цикла.

1 2 9 10

Синтаксис для оператора check. Он может использоваться в циклах do, while, select, or loop. (Оператор loop рассмотрен в следующей главе).

[do/while/select/loop]

---

check exp.

---

[enddo/endwhile/endselect/endloop]

где:

  • exp – логическое выражение.
  • --- представляет любое число строк программы.

Пример использования check. check ведет себя как оператор continue, когда логическое выражение ложно. Если логическое выражение истино, он ничего не делает.

report ztx1014.

parameters p(20) default 'c::\\\xxx\\yyy'.

data: c, "current character

n. "next character

do 19 times varying c from p+0 next p+1

varying n from p+1 next p+2.

check c ca ':\'.

if c = n.

write: / 'duplicate', c, 'found', 'at position', sy-index.

endif.

enddo.

duplicate: found at position 2

duplicate \ found at position 4

duplicate \ found at position 5

duplicate \ found at position 10


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: