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.