Erlang-演算子
演算子は、特定の数学的または論理的操作を実行するようにコンパイラーに指示する記号です。
Erlangには次のタイプの演算子があります-
- 算術演算子
- 関係演算子
- 論理演算子
- ビット演算子
算術演算子
Erlang言語は、他の言語と同様に通常の算術演算子をサポートしています。以下は、Erlangで利用可能な算術演算子です。
例を表示
オペレーター | 説明 | 例 |
---|---|---|
+ | 2つのオペランドの追加 | 1 +2は3を与えます |
− | 最初のオペランドから2番目のオペランドを減算します | 1-2は-1を与えます |
* | 両方のオペランドの乗算 | 2 * 2は4を与えます |
/ | 分母による分子の除算 | 2/2は1を与えます |
レム | 最初の数値を2番目の数値で割った余り | 3レム2は1を与えます |
div | divコンポーネントは除算を実行し、整数コンポーネントを返します。 | 3 div2は1を与えます |
関係演算子
関係演算子を使用すると、オブジェクトを比較できます。以下はErlangで利用可能な関係演算子です。
例を表示
オペレーター | 説明 | 例 |
---|---|---|
== | 2つのオブジェクト間の同等性をテストします | 2 = 2は真になります |
/ = | 2つのオブジェクトの違いをテストします | 3 / = 2は真になります |
< | 左側のオブジェクトが右側のオペランドよりも小さいかどうかを確認します。 | 2 <3は真になります |
= < | 左側のオブジェクトが右側のオペランド以下であるかどうかを確認します。 | 2 = <3は真になります |
>> | 左側のオブジェクトが右側のオペランドより大きいかどうかを確認します。 | 3> 2は真になります |
> = | 左側のオブジェクトが右側のオペランド以上であるかどうかを確認します。 | 3> = 2は真になります |
論理演算子
これらの論理演算子は、ブール式を評価するために使用されます。以下は、Erlangで使用可能な論理演算子です。
例を表示
オペレーター | 説明 | 例 |
---|---|---|
または | これは論理「または」演算子です | trueまたはtrueはtrueを与えます |
そして | これは論理的な「and」演算子です | 真と偽は偽を与える |
ない | これは論理的な「否定」演算子です | 偽ではない場合は真になります |
xor | これは論理排他的「xor」演算子です | True xorfalseはtrueを与えます |
ビット演算子
Erlangは4つのビット演算子を提供します。以下は、Erlangで使用可能なビット演算子です。
例を表示
シニア番号 | オペレーターと説明 |
---|---|
1 |
band これはビット単位の「and」演算子です |
2 |
bor これはビット単位の「or」演算子です |
3 |
bxor これはビット単位の「xor」または排他的論理和演算子です |
4 |
bnot これはビット単位の否定演算子です |
以下は、これらの演算子を示す真理値表です-
p | q | p&q | p | q | p ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
オペレーターの優先順位
次の表は、Erlang演算子の演算子の優先順位を、優先度の高い順に、それらの結合性とともに示しています。演算子の優先順位と結合性は、括弧で囲まれていない式の評価順序を決定するために使用されます。
演算子 | 結合性 |
---|---|
: | |
# | |
結び目ではなく | |
/、*、div、rem、band、および | 左結合 |
+、-、bor、bxor、or、xor | 左結合 |
==、/ =、= <、<、> =、> |