演算子の優先順位
概要
1 つの式に複数の演算が含まれる場合、演算子の優先順位という既定の順序にしたがって、各部分が評価され、演算が実行されます。括弧は優先順位の順序をオーバーライドし、式の特定の部分を他の部分より先に評価するために使用します。括弧内の演算は常に、括弧外の演算より先に実行されます。括弧内でも通常の演算子の優先順位が維持されます。
式が 1 つ以上のカテゴリの演算子を含むとき、算術演算が最初に評価され、次に比較演算、最後に論理演算が評価されます。すべての比較演算子の優先順位は同等なので、比較演算子は左から右の順に評価されます。算術演算子と論理演算子は、以下の優先順位で評価されます。
算術演算子 | 比較演算子 | 論理演算子 | ビット単位演算子 |
---|---|---|---|
否定 (-) | 等しい (=) | Not | BitNot |
指数 (^) | 不等式 (<>) | And | BitAnd |
乗算、および除算 (*, /) | より小さい (<) | Or | BitOr |
整数除算 (\) | より大きい (>) | Xor | BitXor |
剰余算術 (Mod) | 以下 (<=) | Eqv | BitEqv |
加算、および減算 (+, -) | 以上 (>=) | Imp | BitImp |
文字列連結 (&) | Is | & |
Caché Basic では、And 論理演算子 が Or 論理演算子より優先されます。この評価順序は、ObjectScript とも Caché MultiValue Basic とも異なっており、この両者では、And と Or の優先順位は同等です。
乗算、および除算が 1 つの式に同時に含まれる場合、各演算は左から右の順で評価されます。同様に、加算と減算が 1 つの式に同時に含まれる場合、各演算は左から右の順で評価されます。
文字列結合演算 (&) は算術演算子ではありませんが、優先順位はすべての算術演算子の後、およびすべての比較演算子の前になります。Is 演算子は、オブジェクト参照比較演算子です。これは、オブジェクトやその値を比較するものではなく、2 つのオブジェクト参照が同じオブジェクトを参照しているかを確認する演算子です。