Clojure - Operadores
Un operator es un símbolo que le dice al compilador que realice manipulaciones matemáticas o lógicas específicas.
Clojure tiene los siguientes tipos de operadores:
- Operadores aritméticos
- Operadores relacionales
- Operadores logicos
- Operadores bit a bit
Note - En Clojure, los operadores y operandos funcionan con la siguiente sintaxis.
Sintaxis
(operator operand1 operand2 operandn)
Por ejemplo,
Ejemplo
(+ 1 2)
El ejemplo anterior realiza una operación aritmética con los números 1 y 2.
Operadores aritméticos
El lenguaje Clojure admite los operadores aritméticos normales como cualquier lenguaje. A continuación se muestran los operadores aritméticos disponibles en Clojure.
Operador | Descripción | Ejemplo |
---|---|---|
+ | Adición de dos operandos | (+ 1 2) dará 3 |
- | Resta el segundo operando del primero | (- 2 1) dará 1 |
* | Multiplicación de ambos operandos | (* 2 2) dará 4 |
/ | División de numerador por denominador | (float (/ 3 2)) dará 1,5 |
C ª | Operadores incrementales utilizados para incrementar el valor de un operando en 1 | inc 5 dará 6 |
dic | Operadores incrementales utilizados para disminuir el valor de un operando en 1 | 5 de diciembre dará 4 |
max | Devuelve el mayor de sus argumentos. | max 1 2 3 devolverá 3 |
min | Devuelve el menor de sus argumentos. | min 1 2 3 devolverá 1 |
movimiento rápido del ojo | Resto de dividir el primer número por el segundo | rem 3 2 dará 1 |
Operadores relacionales
Los operadores relacionales permiten la comparación de objetos. A continuación se muestran los operadores relacionales disponibles en Clojure.
Operador | Descripción | Ejemplo |
---|---|---|
= | Prueba la igualdad entre dos objetos | (= 2 2) dará verdadero |
no = | Prueba la diferencia entre dos objetos | (no = 3 2) dará verdadero |
< | Comprueba si el objeto izquierdo es menor que el operando derecho | (<2 3) dará verdadero |
<= | Comprueba si el objeto izquierdo es menor o igual que el operando derecho | (<= 2 3) dará verdadero |
> | Comprueba si el objeto izquierdo es mayor que el operando derecho | (> 3 2) dará verdadero |
> = | Comprueba si el objeto izquierdo es mayor o igual que el operando derecho | (> = 3 2) dará verdadero |
Operadores logicos
Los operadores lógicos se utilizan para evaluar expresiones booleanas. A continuación se muestran los operadores lógicos disponibles en Groovy.
Operador | Descripción | Ejemplo |
---|---|---|
and | Este es el operador lógico "y" | (o verdadero verdadero) dará verdadero |
or | Este es el operador lógico "o" | (y verdadero falso) dará falso |
not | Este es el operador lógico "no" | (no falso) dará verdadero |
El siguiente fragmento de código muestra cómo se pueden utilizar los distintos operadores.
Operadores bit a bit
Clojure proporciona cuatro operadores bit a bit. A continuación se muestran los operadores bit a bit disponibles en Clojure.
No Señor. | Operador y descripción |
---|---|
1 | bit-and Este es el operador "y" bit a bit |
2 | bit-or Este es el operador "o" bit a bit |
3 | bit-xor Este es el operador "xor" o exclusivo "o" bit a bit |
4 | bit-not Este es el operador de negación bit a bit |
A continuación se muestra la tabla de verdad que muestra estos operadores.
pag | 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 |
Prioridad del operador
Como es el caso de los LISP en general, no hay necesidad de preocuparse por la precedencia de los operadores. Este es uno de los beneficios de las expresiones S y la notación de prefijo. Todas las funciones evalúan de izquierda a derecha y de adentro hacia afuera. Los operadores en Clojure son solo funciones, y todo está completamente entre paréntesis.