LEAVE — 루프 즉시 종료

LEAVE — 루프 즉시 종료

LEAVE는 현재 루프 제어 매개변수를 버리고, 가장 안쪽의 구문상 둘러싸는 DO...LOOP 또는 DO...+LOOP의 바로 다음 위치에서 실행을 계속하는 코어 단어예요.

출처: LEAVE — Forth 2012 Standard

본문

실행 (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

더 알아보기 (Learn more)

출처: LEAVE — Forth 2012 Standard