LOTUSSCRIPT 言語


演算子の優先順位
式の値は式の各部分が評価される順序によって決まります。優先順位の高い演算子は、優先順位の低い演算子よりも先に評価されます。優先順位が同じ演算子は左から右へと評価されます。

式の通常の評価順序を変えるには、カッコを使用します。カッコ内の副式は、式の他の部分よりも先に左から右へと評価されます。

次の表は、演算子の優先順位を示しています。次の表の演算子は、特に明記されている場合を除き 2 項演算子です。同じ行の演算子は、同じ優先順位になります。演算子の優先順位は、高い方から順に次のようになっています。
演算子の種類演算子演算
算術^指数
-- (単項) マイナス
*, /乗算、浮動小数点数の除算
\整数除算
Mod剰余演算 (整数の除算の余り)
-, +減算、加算
連結&文字列連結
関係 (比較)=、<>、><、<、<=、=<、>、>=、=>、Like数値または文字列の比較。等しい、等しくない、等しくない、より小さい、より小さいか等しい、より小さいか等しい、より大きい、より大きいか等しい、より大きいか等しい、含む (部分文字列のマッチング)
オブジェクト参照の比較 (関係演算子と同じ優先順位)Is、IsAオブジェクト型のテスト、同じオブジェクトの参照
論理Not論理否定 (ビット単位) または 1 の補数
And論理積 (ビット単位)
Or論理和 (ビット単位)
Xor排他的論理和 (ビット単位)
Eqv論理的等価 (ビット単位)
Imp論理包含 (ビット単位)
代入=代入

次の例では、算術演算子の優先順位を示しています。

Print 6 + 4 / 2                    ' Prints 8
Print (6 + 4) / 2                  ' Prints 5

Print -2 ^ 2                       ' Prints -4
Print (-2) ^ 2                     ' Prints 4

次の例では、比較演算子の優先順位を示しています。

Print 5 < 3                        ' Prints False
Print 5 > 3                        ' Prints True

Print "Alphabet" = "Alpha" & "bet" ' Prints True

Print 4 And 10 - 2 * 3 / 2
' Output:4 because 2 * 3 = 6
'         6 / 2 = 3
'         10 - 3 = 7 (binary 111)
'         4 (binary 100) And 7 (binary 111) = 4 (binary 100).

演算が行われる順序を変えるには、最初に評価する式をカッコで囲みます。

以下に例を示します。

anInt% = 5
anotherInt% = 10
aThirdInt% = 7
print anInt% - (anotherInt% + aThirdInt%)
' Output: -12

または、次のようにすることもできます。

theResult% = -1 Or -1 Imp 0
Print theResult%
' Output:False
' because -1 Or -1 = True, and True Imp 0 is False.
theResult% = -1 Or (-1 Imp 0)
Print theResult%
' Output:True
' because -1 Imp 0 is False, and -1 Or False is True.

関数は、式の中でどの演算子よりも先に評価されます。

以下に例を示します。

Print -1 > 0
' Output:False
Print Abs(-1) > 0
' Output:True

関連項目