さまざまな式タイプの定義

完了

式は、目的の値を生成する方法を指定する式であり、その後で値に評価されます。 式では、単項または二項という用語と演算子が使用されます。

単項演算子を使用すると、演算子はその直後に続く用語に影響します。 二項演算子は、演算子の両側に影響します。

演算子は、次のいずれかの演算子の種類で分類できます。

  • 単項

  • 文字列

  • 算術

  • リレーショナル

  • 論理

単項演算子

単項演算子は、演算子の直後に続く用語のみに影響します。 単項演算子には次の値を使用できます:

  • +

  • -

  • NOT

マイナス記号 (-) を使用すると、マイナス記号の後の用語に負の値が作成されます。 したがって、この演算子の後に続く用語にのみ影響します。

var
    CustomerExists: Boolean;
    MyBoolean: Boolean;
begin
    CustomerExists := true;
    MyBoolean := NOT CustomerExists;
    // Will result in MyBoolean: false
end;

次の演算子は、すべての二項演算子で、演算子の両側の用語に影響します。

文字列演算子

プラス記号 (+) は、演算子の両側の用語に影響するため、二項演算子である唯一の文字列演算子です。 文字列演算子は、2 つの文字列を連結します。

AL で文字列演算子を使用する例。

算術演算子

算術演算子は、数値計算で使用されます。 数式は、数値を計算する式です。

次の演算子を利用できます:

  • 加算 (+)

  • 減算 (-)

  • 乗算 (*)

  • 除算 (/)

  • 整数除算 (DIV)

  • 剰余 (MOD)

var
    MyExpression: Integer;
begin
    MyExpression:= 5 + 2 * 3;
    // Will result in MyExpression: 11
end;

算術演算子で使用するデータ型によっては、その結果、他のデータ型を取得できます。

17/8 = 2.125
17/9 = 1.88

除算演算子 (除算) は、作業に慣れた通常の算術除算です。 2つの整数値を除算すると、常に10 進値で終了します。

整数除算 (DIV) 演算子は整数除算の整数の商を返します。 これは、整数値を生成する二項演算子です。 結果の小数位をすべてドロップすることにより、整数除算の結果を計算できます。

17 DIV 8 = 2   The decimal portion 125 is dropped
17 DIV 9 = 1   The decimal portion 88 is dropped

剰余演算子 (MOD) は、1 つの数値の除算の余りを別の数値で検索します。 剰余演算子は、銀行口座番号などの番号を検証するときに多く使用されます。

5 MOD 2 = 1   5 = (2x2) + 1
17 MOD 9 = 8   17 = (9x1) + 8

演算子を比較すると、次のような結果が得られます。

5 / 2 = 2.5
5 DIV 2 = 2
5 MOD 2 = 1

演算子が適用される順序によって、計算の結果に大きな影響を与える可能性があります。

  • 最上位レベル:

    単項演算子

  • 第2 レベル:

    *、/、DIV、MOD

  • 最下位レベル:

    + , - (バイナリ)

部分式 () を使用して、演算子の優先順位の効果を変更することができます。 部分式は常に最初に評価され、かっこ () を追加することによって使用できます。

5 + 3 * 6 – 2 DIV -2 = ?

First Level:
5 + 3 * 6 – 2 DIV -2

Second Level:
5 + 3 * 6 – 2 DIV -2
= 5 + 18 – (-1)

Lowest Level:
+ and –
23 -(-1) = 24

関係式

次の関係式を使用できます。

  • = (等しい)

  • < (より小さい)

  • > (より大きい)

  • <= (以下)

  • >= (以上)

  • <> (等しくない)

  • IN (セットに含めない)

関係演算子は、すべての演算子の中で最も優先順位が低くなります。 関係式では、より小さい、より大きい、等しい、以下、または、以上という条件で比較できます。 関係演算子は、次の状況で使用できます。

  • 数値比較 - 数値比較は明らかで、数値で比較されます。

  • 文字列比較 - 文字列を Unicode 日付と比較して、最初に取得する値を決定します。

  • 日付と時刻の比較 - カレンダーは、最初に発生する値を決定するために使用されます。

  • ブール値による比較 - false の値は、true の値に優先します。

次の例に示すように、Set Inclusion (IN 演算子を含む) は値のリストです。

[2,4,6,8,10]
[1..9,11..19]

IN 演算子は、特定の値がセットに含まれているかどうかを検証します。

5 IN [2,4,6,8,10] is FALSE
5 IN [1..9,11..19] is TRUE
5 IN [2,4..6,8,10] is TRUE
10 IN [1..9,11..19] is FALSE
'M' IN ['A'..'Z'] is TRUE

論理式

次の論理式を使用できます。

  • AND

  • OR

  • XOR

  • NOT

論理演算子は true と false の値で評価します (結果はブール値になります)。 論理演算子は、文字列、数字、日付などの標準値を比較しません。これらはブール値を比較しますが、関係演算子は値の相違点に基づいて値を比較します。

次の例は、異なる論理演算子間の比較を示しています。

論理演算子間の違いを示すテーブル。

  • NOT 演算子を使用すると、すべての論理値が元に戻されます。 NOT True の場合は False となり、NOT False の場合は True になります。

  • OR 演算子を使用する場合、値のいずれかが True になる必要があり、結果が True になります。それ以外の場合、値は False になります。

  • AND 演算子を使用する場合、両方の値が True になる必要があり、結果が True になります。それ以外の場合、値は False になります。

  • XOR (排他的論理和) 演算子を使用する場合、1 つの値のみが True になる必要があり、結果が True になります。それ以外の場合、値は False になります。

次の例では、すべての演算子を組み合わせます。

演算子の優先順位に影響を与える例。

ブール式

プログラミングまたはアプリケーション言語を使用する場合は、ブール式も発生します。 ブール式は、結果がブール値になる式です。そのためには、ブール変数または定数を使用できます。 通常は、関係式と論理式はブール値で評価されます。