Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

CONTINUE

FOR コマンド、WHILE コマンド、および DO WHILE コマンドにジャンプし、テストを再実行してループします。

Synopsis

CONTINUE:pc

引数

pc オプション — 後置条件式

概要

CONTINUE コマンドは、FOR コマンド、WHILE コマンド、DO WHILE コマンドに続くコード・ブロック内で使用されます。CONTINUE を使用して、FOR、WHILE、および DO WHILE コマンドに戻って実行を継続することができます。FOR、WHILE、および DO WHILE コマンドはテスト条件を評価し、その評価を基にしてコード・ブロック・ループを再実行します。したがって、CONTINUE コマンドの実行にはコード・ブロックの終了括弧 ( } ) に到達するのとまったく同じ効果があります。

CONTINUE は引数を取りません (後置条件以外)。同じ行でその後に続くコマンドを、最低 2 つの空白スペースで分割する必要があります。

CONTINUE は、TRY または CATCH ブロックの外側にジャンプして、そのフロー制御文を返すことができます。

引数

pc

コマンドを条件付きにする、オプションの後置条件式。Caché は、後置条件式が True (0 以外の数値に評価される) の場合に CONTINUE コマンドを実行します。Caché は、後置条件式が False (0 に評価される) の場合はコマンドを実行しません。詳細は、"Caché ObjectScript の使用法" の "コマンド後置条件式" を参照してください。

以下の CONTINUE の例では、後置条件式を使用しています。ループして、1 から 10 (3を除く) のすべての数を出力します。

Loop
  FOR i=1:1:10 {
    IF i # 2 { 
      CONTINUE:i=3
      WRITE !,i," is odd" }
    ELSE { WRITE !,i," is even" }
    }
  WRITE !,"done with the loop"
  QUIT

次の例は、入れ子になった 2 つの FOR ループを示しています。CONTINUE は、内部ループの FOR に戻ります。

Loop
  FOR i=1:1:3 {
    WRITE !,"outer loop: i=",i
    FOR j=2:2:10 {
      WRITE !,"inner loop: j=",j
      IF j '= 8 {CONTINUE  }
      ELSE { WRITE " crazy eight"}
      }
    WRITE !,"back to outer loop"
  }
  QUIT

次の例は、TRY ブロックが存在する CONTINUE を示しています。CONTINUE は、TRY ブロックの外側の FOR 構文に戻ります。

TryLoop
  FOR i=1:1:10 {
  WRITE !,"Top of FOR loop"
    TRY {
    WRITE !,"In TRY block: i=",i
    IF i=7 {
      WRITE " lucky seven" }
      ELSE { CONTINUE }
    }
    CATCH exp {
       WRITE !,"CATCH block exception handler",!
       WRITE "Error code=",exp.Code
       RETURN
    }
    WRITE !,"Bottom of the FOR loop"
  }
  QUIT

関連項目

FeedbackOpens in a new tab