LEAVE — 루프 즉시 종료
LEAVE — 루프 즉시 종료
LEAVE는 현재 루프 제어 매개변수를 버리고, 가장 안쪽의 구문상 둘러싸는 DO...LOOP 또는 DO...+LOOP의 바로 다음 위치에서 실행을 계속하는 코어 단어예요.
본문
실행 (Execution)
( -- ) ( R: loop-sys -- )
설명
현재 루프 제어 매개변수를 버려요. 그것을 사용할 수 없으면 애매한 조건이 존재해요. 가장 안쪽의 구문상 둘러싸는 DO...LOOP 또는 DO...+LOOP의 바로 다음 위치에서 실행을 계속해요.
참조 (See)
- 3.2.3.3 Return stack(복귀 스택)
- 6.1.0140 +LOOP
- 6.1.1800 LOOP
- A.6.1.1760 LEAVE
합리성 (Rationale)
LEAVE는 즉시 루프를 종료한다는 점에 주목하세요. 루프 안에서 LEAVE 뒤의 단어는 실행되지 않아요. 전형적인 사용:
: X ... DO ... IF ... LEAVE THEN ... LOOP ... ;
테스트 (Testing)
T{ : GD5 123 SWAP 0 DO
I 4 > IF DROP 234 LEAVE THEN
LOOP ; -> }T
T{ 1 GD5 -> 123 }T
T{ 5 GD5 -> 123 }T
T{ 6 GD5 -> 234 }T