Clojure - Operatori

Un operator è un simbolo che dice al compilatore di eseguire manipolazioni matematiche o logiche specifiche.

Clojure ha i seguenti tipi di operatori:

  • Operatori aritmetici
  • Operatori relazionali
  • Operatori logici
  • Operatori bit per bit

Note - In Clojure, gli operatori e gli operandi funzionano nella seguente sintassi.

Sintassi

(operator operand1 operand2 operandn)

Per esempio,

Esempio

(+ 1 2)

L'esempio precedente esegue un'operazione aritmetica sui numeri 1 e 2.

Operatori aritmetici

Il linguaggio Clojure supporta i normali operatori aritmetici come qualsiasi linguaggio. Di seguito sono riportati gli operatori aritmetici disponibili in Clojure.

Mostra esempi

Operatore Descrizione Esempio
+ Aggiunta di due operandi (+ 1 2) darà 3
- Sottrae il secondo operando dal primo (- 2 1) darà 1
* Moltiplicazione di entrambi gli operandi (* 2 2) darà 4
/ Divisione del numeratore per denominatore (float (/ 3 2)) restituirà 1.5
inc Operatori incrementali utilizzati per incrementare il valore di un operando di 1 inc 5 darà 6
dec Operatori incrementali utilizzati per decrementare il valore di un operando di 1 5 dicembre darà 4
max Restituisce il più grande dei suoi argomenti max 1 2 3 restituirà 3
min Restituisce il più piccolo dei suoi argomenti min 1 2 3 restituirà 1
rem Resto della divisione del primo numero per il secondo rem 3 2 darà 1

Operatori relazionali

Gli operatori relazionali consentono il confronto degli oggetti. Di seguito sono riportati gli operatori relazionali disponibili in Clojure.

Mostra esempi

Operatore Descrizione Esempio
= Verifica l'uguaglianza tra due oggetti (= 2 2) darà vero
non = Verifica la differenza tra due oggetti (non = 3 2) darà vero
< Controlla se l'oggetto sinistro è minore dell'operando destro (<2 3) darà vero
<= Verifica se l'oggetto sinistro è minore o uguale all'operando destro (<= 2 3) darà vero
> Verifica se l'oggetto sinistro è maggiore dell'operando destro (> 3 2) darà vero
> = Verifica se l'oggetto sinistro è maggiore o uguale all'operando destro (> = 3 2) darà vero

Operatori logici

Gli operatori logici vengono utilizzati per valutare le espressioni booleane. Di seguito sono riportati gli operatori logici disponibili in Groovy.

Mostra esempi

Operatore Descrizione Esempio
and Questo è l'operatore logico "and" (o vero vero) darà vero
or Questo è l'operatore logico "or" (e vero falso) darà falso
not Questo è l'operatore logico "non" (non falso) darà vero

Il seguente frammento di codice mostra come possono essere utilizzati i vari operatori.

Operatori bit per bit

Clojure fornisce quattro operatori bit per bit. Di seguito sono riportati gli operatori bit per bit disponibili in Clojure.

Mostra esempi

Sr.No. Operatore e descrizione
1

bit-and

Questo è l'operatore "and" bit per bit

2

bit-or

Questo è l'operatore "or" bit per bit

3

bit-xor

Questo è l'operatore "xor" o Exclusive "or" bit per bit

4

bit-not

Questo è l'operatore di negazione bit per bit

Di seguito è riportata la tabella della verità che mostra questi operatori.

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

Precedenza operatore

Come nel caso dei LISP in generale, non è necessario preoccuparsi della precedenza degli operatori. Questo è uno dei vantaggi delle espressioni S e della notazione dei prefissi. Tutte le funzioni valutano da sinistra a destra e dentro e fuori. Gli operatori in Clojure sono solo funzioni e tutto è completamente tra parentesi.