Next: , Previous: , Up: Forth Tutorial   [Contents][Index]


3.21 Leaving definitions or loops

EXIT は、 現在の定義をすぐに終了(exit)します。 EXIT の実行前に、 (残ったループ・カウンタ達を全て取り除くために、)ネストしたカウンタ付きループの数だけ UNLOOP を実行する必要があります(訳注: 下記例は1重のループなので unloop が1つ。 2重ループになったら unloop unloop と2つ必要):

: ...
 ... u+do
   ... if
     ... unloop exit
   endif
   ...
 loop
 ... ;

LEAVE は、 (LEAVE から見て)最も内側にあるカウンタ付きループを直ちに終了します:

: ...
 ... u+do
   ... if
     ... leave
   endif
   ...
 loop
 ... ;

こちらも参照ください: Calls and returns, Counted Loops