Clojure-オペレーター
アン operator 特定の数学的または論理的操作を実行するようにコンパイラーに指示する記号です。
Clojureには次のタイプの演算子があります-
- 算術演算子
- 関係演算子
- 論理演算子
- ビット演算子
Note − Clojureでは、演算子とオペランドは次の構文で機能します。
構文
(operator operand1 operand2 operandn)
例えば、
例
(+ 1 2)
上記の例では、数値1と2に対して算術演算を実行します。
算術演算子
Clojure言語は、他の言語と同様に通常の算術演算子をサポートします。以下は、Clojureで使用可能な算術演算子です。
例を表示
オペレーター | 説明 | 例 |
---|---|---|
+ | 2つのオペランドの追加 | (+ 1 2)は3を与えます |
− | 最初のオペランドから2番目のオペランドを減算します | (-2 1)は1を与えます |
* | 両方のオペランドの乗算 | (* 2 2)は4を与えます |
/ | 分母による分子の除算 | (float(/ 3 2))は1.5を与えます |
株式会社 | オペランドの値を1ずつインクリメントするために使用されるインクリメント演算子 | 株式会社5は6を与えます |
12月 | オペランドの値を1だけデクリメントするために使用される増分演算子 | 12月5日は4を与えます |
最大 | その引数の最大のものを返します | 最大123は3を返します |
分 | 引数の最小値を返します | min 1 23は1を返します |
レム | 最初の数値を2番目の数値で割った余り | rem 32は1を与えます |
関係演算子
関係演算子を使用すると、オブジェクトを比較できます。以下は、Clojureで使用可能な関係演算子です。
例を表示
オペレーター | 説明 | 例 |
---|---|---|
= | 2つのオブジェクト間の同等性をテストします | (= 2 2)は真になります |
not = | 2つのオブジェクトの違いをテストします | (= 3 2ではない)は真になります |
< | 左側のオブジェクトが右側のオペランドよりも小さいかどうかを確認します | (<2 3)は真になります |
<= | 左側のオブジェクトが右側のオペランド以下であるかどうかを確認します | (<= 2 3)は真になります |
>> | 左側のオブジェクトが右側のオペランドより大きいかどうかを確認します | (> 3 2)は真になります |
> = | 左側のオブジェクトが右側のオペランド以上であるかどうかを確認します | (> = 3 2)は真になります |
論理演算子
論理演算子は、ブール式を評価するために使用されます。Groovyで使用できる論理演算子は次のとおりです。
例を表示
オペレーター | 説明 | 例 |
---|---|---|
and | これは論理的な「and」演算子です | (またはtrue true)はtrueを与えます |
or | これは論理「または」演算子です | (そして真偽)は偽を与える |
not | これは論理的な「否定」演算子です | (偽ではない)真を与える |
次のコードスニペットは、さまざまな演算子の使用方法を示しています。
ビット演算子
Clojureは4つのビット演算子を提供します。以下は、Clojureで使用可能なビット演算子です。
例を表示
シニア番号 | オペレーターと説明 |
---|---|
1 | bit-and これはビット単位の「and」演算子です |
2 | bit-or これはビット単位の「or」演算子です |
3 | bit-xor これはビット単位の「xor」または排他的論理和演算子です |
4 | bit-not これはビット単位の否定演算子です |
以下は、これらの演算子を示す真理値表です。
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 |
オペレーターの優先順位
一般的なLISPの場合と同様に、オペレーターの優先順位について心配する必要はありません。これは、S式とプレフィックス表記の利点の1つです。すべての関数は、左から右、および裏返しに評価されます。Clojureの演算子は単なる関数であり、すべてが完全に括弧で囲まれています。