Clojure - Operatorzy
Na operator to symbol, który mówi kompilatorowi, aby wykonał określone operacje matematyczne lub logiczne.
Clojure ma następujące typy operatorów -
- Operatory arytmetyczne
- Operatorzy relacyjni
- Operatory logiczne
- Operatory bitowe
Note - W Clojure operatory i operandy działają w następujący sposób.
Składnia
(operator operand1 operand2 operandn)
Na przykład,
Przykład
(+ 1 2)
Powyższy przykład wykonuje operację arytmetyczną na liczbach 1 i 2.
Operatory arytmetyczne
Język Clojure obsługuje zwykłe operatory arytmetyczne jako dowolny język. Poniżej znajdują się operatory arytmetyczne dostępne w Clojure.
Pokaż przykłady
Operator | Opis | Przykład |
---|---|---|
+ | Dodanie dwóch operandów | (+ 1 2) da 3 |
- | Odejmuje drugi operand od pierwszego | (- 2 1) daje 1 |
* | Mnożenie obu operandów | (* 2 2) da 4 |
/ | Podział licznika przez mianownik | (float (/ 3 2)) daje 1,5 |
inc | Operatory przyrostowe używane do zwiększania wartości operandu o 1 | dod. 5 da 6 |
dec | Operatory przyrostowe używane do zmniejszania wartości operandu o 1 | dec 5 da 4 |
max | Zwraca największy ze swoich argumentów | max 1 2 3 zwróci 3 |
min | Zwraca najmniejszy z argumentów | min 1 2 3 zwróci 1 |
rem | Pozostała część podzielenia pierwszej liczby przez drugą | rem 3 2 da 1 |
Operatorzy relacyjni
Operatory relacyjne umożliwiają porównywanie obiektów. Poniżej znajdują się operatory relacyjne dostępne w Clojure.
Pokaż przykłady
Operator | Opis | Przykład |
---|---|---|
= | Testuje równość między dwoma obiektami | (= 2 2) da prawdę |
nie = | Testuje różnicę między dwoma obiektami | (nie = 3 2) da prawdę |
< | Sprawdza, czy lewy obiekt jest mniejszy niż prawy operand | (<2 3) da prawdę |
<= | Sprawdza, czy lewy obiekt jest mniejszy lub równy prawemu operandowi | (<= 2 3) da prawdę |
> | Sprawdza, czy lewy obiekt jest większy niż prawy operand | (> 3 2) da prawdę |
> = | Sprawdza, czy lewy obiekt jest większy lub równy prawemu operandowi | (> = 3 2) da prawdę |
Operatory logiczne
Operatory logiczne służą do obliczania wyrażeń logicznych. Poniżej znajdują się operatory logiczne dostępne w Groovy.
Pokaż przykłady
Operator | Opis | Przykład |
---|---|---|
and | To jest operator logiczny „i” | (lub prawda prawda) da prawdę |
or | To jest operator logiczny „lub” | (i prawda fałsz) da fałsz |
not | To jest logiczny operator „nie” | (nie fałsz) da prawdę |
Poniższy fragment kodu pokazuje, jak można używać różnych operatorów.
Operatory bitowe
Clojure udostępnia cztery operatory bitowe. Poniżej znajdują się operatory bitowe dostępne w Clojure.
Pokaż przykłady
Sr.No. | Operator i opis |
---|---|
1 |
bit-and To jest operator bitowy „i” |
2 |
bit-or To jest operator bitowy „lub” |
3 |
bit-xor To jest bitowy operator „xor” lub „Exclusive” lub „ |
4 |
bit-not To jest bitowy operator negacji |
Poniżej znajduje się tabela prawdy przedstawiająca te operatory.
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 |
Pierwszeństwo operatora
Tak jak ogólnie w przypadku LISP-ów, nie ma potrzeby martwić się o pierwszeństwo operatorów. Jest to jedna z zalet wyrażeń S i notacji przedrostków. Wszystkie funkcje są obliczane od lewej do prawej i od wewnątrz. Operatory w Clojure to tylko funkcje, a wszystko jest w nawiasach.