IF

目的

テスト式に基づいて条件付きでコードを実行します。

構文

IF test-expression THEN clause[;ELSEclause];

パラメーター

test-expression
長さが ≥ 1 のビット文字列のスカラー値に評価される任意の式。test-expression は、文字列のビットのいずれかが 1 であれば真と見なされ、すべてのビットが 0 の場合にのみ偽と見なされます。
clause
BEGIN ブロックまたは DOグループか、END、PROCEDURE、DECLARE、FORMAT 以外の文。

説明

IF 文は test-expression を評価します。式が真の場合は THEN clause が実行され、それ以外の場合は ELSE clause が実行されます (存在する場合)。

IF 文が別の IF 文の THEN 句または ELSE 句として使用されている場合、ELSE は常に直前の (まだ組み合わされていない) THEN と組み合わされます。

IF 文の test-expressions が bit(n) 値 (n > 1) を生成することがあります。この場合、文字列のビットのいずれかが 1 であれば真と見なされ、すべてのビットが 0 の場合にのみ偽と見なされます。

IF A>B
   THEN IF C>D
      THEN X = 5; 
      ELSE X = 10;

この例では、ELSE 句は IF C > D THEN X = 5 に関連付けられます。

ELSE を最初の THEN に関連付けるには、次の例に示すように ELSE を記述するか、2 番目の THEN に対応する ELSE を記述しないようにします。

IF A>B;
   IF C>D THEN X=5; 
   ELSE;
ELSE X = 10;

または

IF A>B THEN DO;
   IF C>D THEN X=5; 
   END;
ELSE X = 10;

制約事項

なし。