目的
テスト式に基づいて条件付きでコードを実行します。
構文
IF test-expression THEN clause[;ELSEclause];
パラメーター
- test-expression
- 長さが ≥ 1 のビット文字列のスカラー値に評価される任意の式。test-expression は、文字列のビットのいずれかが 1 であれば真と見なされ、すべてのビットが 0 の場合にのみ偽と見なされます。
- clause
- BEGIN ブロックまたは DOグループか、END、PROCEDURE、DECLARE、FORMAT 以外の文。
例
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;
説明
IF 文は test-expression を評価します。式が真の場合は THEN clause が実行され、それ以外の場合は ELSE clause が実行されます (存在する場合)。
IF 文が別の IF 文の THEN 句または ELSE 句として使用されている場合、ELSE は常に直前の (まだ組み合わされていない) THEN と組み合わされます。
IF 文の test-expressions が bit(n) 値 (n > 1) を生成することがあります。この場合、文字列のビットのいずれかが 1 であれば真と見なされ、すべてのビットが 0 の場合にのみ偽と見なされます。