Clojure - Betreiber
Ein operator ist ein Symbol, das den Compiler anweist, bestimmte mathematische oder logische Manipulationen durchzuführen.
Clojure hat die folgenden Arten von Operatoren:
- Rechenzeichen
- Vergleichsoperatoren
- Logische Operatoren
- Bitweise Operatoren
Note - In Clojure arbeiten Operatoren und Operanden in der folgenden Syntax.
Syntax
(operator operand1 operand2 operandn)
Zum Beispiel,
Beispiel
(+ 1 2)
Das obige Beispiel führt eine arithmetische Operation für die Zahlen 1 und 2 durch.
Rechenzeichen
Die Clojure-Sprache unterstützt die normalen arithmetischen Operatoren wie jede andere Sprache. Im Folgenden sind die in Clojure verfügbaren arithmetischen Operatoren aufgeführt.
Beispiele anzeigen
Operator | Beschreibung | Beispiel |
---|---|---|
+ | Addition von zwei Operanden | (+ 1 2) ergibt 3 |
- - | Subtrahiert den zweiten Operanden vom ersten | (- 2 1) ergibt 1 |
* * | Multiplikation beider Operanden | (* 2 2) ergibt 4 |
/. | Division des Zählers durch Nenner | (float (/ 3 2)) ergibt 1,5 |
inc | Inkrementelle Operatoren, mit denen der Wert eines Operanden um 1 erhöht wird | inc 5 wird 6 geben |
dez | Inkrementelle Operatoren, mit denen der Wert eines Operanden um 1 verringert wird | 5. Dezember wird 4 geben |
max | Gibt das größte seiner Argumente zurück | max 1 2 3 gibt 3 zurück |
Mindest | Gibt das kleinste seiner Argumente zurück | min 1 2 3 gibt 1 zurück |
rem | Rest der Division der ersten Zahl durch die zweite | rem 3 2 ergibt 1 |
Vergleichsoperatoren
Vergleichsoperatoren ermöglichen den Vergleich von Objekten. Im Folgenden sind die in Clojure verfügbaren Vergleichsoperatoren aufgeführt.
Beispiele anzeigen
Operator | Beschreibung | Beispiel |
---|---|---|
= | Testet die Gleichheit zwischen zwei Objekten | (= 2 2) ergibt true |
nicht = | Testet den Unterschied zwischen zwei Objekten | (nicht = 3 2) wird wahr geben |
< | Überprüft, ob das linke Objekt kleiner als der rechte Operand ist | (<2 3) wird wahr geben |
<= | Überprüft, ob das linke Objekt kleiner oder gleich dem rechten Operanden ist | (<= 2 3) ergibt true |
> | Überprüft, ob das linke Objekt größer als der rechte Operand ist | (> 3 2) wird wahr geben |
> = | Überprüft, ob das linke Objekt größer oder gleich dem rechten Operanden ist | (> = 3 2) ergibt true |
Logische Operatoren
Logische Operatoren werden verwendet, um boolesche Ausdrücke auszuwerten. Im Folgenden sind die in Groovy verfügbaren logischen Operatoren aufgeführt.
Beispiele anzeigen
Operator | Beschreibung | Beispiel |
---|---|---|
and | Dies ist der logische Operator "und" | (oder wahr wahr) wird wahr geben |
or | Dies ist der logische "oder" -Operator | (und wahr falsch) wird falsch geben |
not | Dies ist der logische "Nicht" -Operator | (nicht falsch) wird wahr geben |
Das folgende Codefragment zeigt, wie die verschiedenen Operatoren verwendet werden können.
Bitweise Operatoren
Clojure bietet vier bitweise Operatoren. Im Folgenden sind die in Clojure verfügbaren bitweisen Operatoren aufgeführt.
Beispiele anzeigen
Sr.Nr. | Betreiber & Beschreibung |
---|---|
1 |
bit-and Dies ist der bitweise "und" -Operator |
2 |
bit-or Dies ist der bitweise "oder" -Operator |
3 |
bit-xor Dies ist der bitweise Operator "xor" oder Exclusive "oder" |
4 |
bit-not Dies ist der bitweise Negationsoperator |
Im Folgenden finden Sie die Wahrheitstabelle, in der diese Operatoren aufgeführt sind.
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 |
Vorrang des Bedieners
Wie bei LISPs im Allgemeinen besteht kein Grund zur Sorge um die Priorität des Bedieners. Dies ist einer der Vorteile von S-Expressions und Präfixnotation. Alle Funktionen werden von links nach rechts und von innen nach außen ausgewertet. Die Operatoren in Clojure sind nur Funktionen, und alles ist vollständig in Klammern gesetzt.