Elixir - Operadores
Un operador es un símbolo que le dice al compilador que realice manipulaciones matemáticas o lógicas específicas. Hay MUCHOS operadores proporcionados por elixir. Se dividen en las siguientes categorías:
- Operadores aritméticos
- Operadores de comparación
- operadores booleanos
- Operadores varios
Operadores aritméticos
La siguiente tabla muestra todos los operadores aritméticos compatibles con el lenguaje Elixir. Asumir variableA tiene 10 y variable B tiene 20, entonces -
Operador | Descripción | Ejemplo |
---|---|---|
+ | Suma 2 números. | A + B dará 30 |
- | Resta el segundo número del primero. | AB dará -10 |
* | Multiplica dos números. | A * B dará 200 |
/ | Divide el primer número del segundo. Esto arroja los números en flotantes y da un resultado flotante | A / B dará 0,5. |
div | Esta función se usa para obtener el cociente en la división. | div (10,20) dará 0 |
movimiento rápido del ojo | Esta función se usa para obtener el resto de la división. | rem (A, B) dará 10 |
Operadores de comparación
Los operadores de comparación en Elixir son en su mayoría comunes a los que se proporcionan en la mayoría de los demás idiomas. La siguiente tabla resume los operadores de comparación en Elixir. Asumir variableA tiene 10 y variable B tiene 20, entonces -
Operador | Descripción | Ejemplo |
---|---|---|
== | Comprueba si el valor de la izquierda es igual al valor de la derecha (el tipo arroja valores si no son del mismo tipo). | A == B dará falso |
! = | Comprueba si el valor de la izquierda no es igual al valor de la derecha. | A! = B dará verdadero |
=== | Verifica si el tipo de valor a la izquierda es igual al tipo de valor a la derecha, si es así, verifique el mismo valor. | A === B dará falso |
! == | Igual que el anterior, pero verifica la desigualdad en lugar de la igualdad. | A! == B dará verdadero |
> | Comprueba si el valor del operando izquierdo es mayor que el valor del operando derecho; si es así, entonces la condición se vuelve verdadera. | A> B dará falso |
< | Comprueba si el valor del operando izquierdo es menor que el valor del operando derecho; si es así, entonces la condición se vuelve verdadera. | A <B dará verdadero |
> = | Comprueba si el valor del operando izquierdo es mayor o igual que el valor del operando derecho; si es así, entonces la condición se vuelve verdadera. | A> = B dará falso |
<= | Comprueba si el valor del operando izquierdo es menor o igual que el valor del operando derecho; si es así, entonces la condición se vuelve verdadera. | A <= B dará verdadero |
Operadores logicos
Elixir proporciona 6 operadores lógicos: y, o, no, &&, || y!. Los primeros tres,and or notson operadores booleanos estrictos, lo que significa que esperan que su primer argumento sea un booleano. El argumento no booleano generará un error. Mientras que los siguientes tres,&&, || and !son no estrictos, no requieren que tengamos el primer valor estrictamente como booleano. Funcionan de la misma manera que sus contrapartes estrictas. Asumir variableA se mantiene verdadero y variable B tiene 20, entonces -
Operador | Descripción | Ejemplo |
---|---|---|
y | Comprueba si ambos valores proporcionados son veraces, si es así, devuelve el valor de la segunda variable. (Lógico y). | A y B darán 20 |
o | Comprueba si alguno de los valores proporcionados es verdadero. Devuelve el valor que sea verdadero. Else devuelve falso. (Lógico o). | A o B darán verdadero |
no | Operador unario que invierte el valor de la entrada dada. | no A dará falso |
&& | No estricto and. Funciona igual queand pero no espera que el primer argumento sea booleano. | B && A dará 20 |
|| | No estricto or. Funciona igual queor pero no espera que el primer argumento sea booleano. | B || Un daré verdad |
! | No estricto not. Funciona igual quenot pero no espera que el argumento sea booleano. | ! A dará falso |
NOTE −y , o , && y || || son operadores de cortocircuito. Esto significa que si el primer argumento deandes falso, entonces no comprobará más el segundo. Y si el primer argumento deores verdadero, entonces no buscará el segundo. Por ejemplo,
false and raise("An error")
#This won't raise an error as raise function wont get executed because of short
#circuiting nature of and operator
Operadores bit a bit
Los operadores bit a bit trabajan en bits y realizan operaciones bit a bit. Elixir proporciona módulos bit a bit como parte del paqueteBitwise, por lo que para usarlos, debe usar el módulo bit a bit. Para usarlo, ingrese el siguiente comando en su shell:
use Bitwise
Suponga que A es 5 y B es 6 para los siguientes ejemplos:
Operador | Descripción | Ejemplo |
---|---|---|
&&& | Bitwise y el operador copia un bit al resultado si existe en ambos operandos. | A &&& B dará 4 |
||| | Bit a bit o el operador copia un bit al resultado si existe en cualquiera de los operandos. | A ||| B dará 7 |
>>> | El operador de desplazamiento a la derecha bit a bit desplaza los primeros bits del operando a la derecha en el número especificado en el segundo operando. | A >>> B dará 0 |
<<< | El operador de desplazamiento a la izquierda bit a bit desplaza los primeros bits del operando a la izquierda por el número especificado en el segundo operando. | A <<< B dará 320 |
^^^ | El operador XOR bit a bit copia un bit al resultado solo si es diferente en ambos operandos. | A ^^^ B dará 3 |
~~~ | Unario bit a bit no invierte los bits en el número dado. | ~~~ A dará -6 |
Operadores varios
Aparte de los operadores anteriores, Elixir también proporciona una gama de otros operadores como Concatenation Operator, Match Operator, Pin Operator, Pipe Operator, String Match Operator, Code Point Operator, Capture Operator, Ternary Operator que lo convierten en un lenguaje bastante poderoso.