Elixir - Operadores
Um operador é um símbolo que diz ao compilador para realizar manipulações matemáticas ou lógicas específicas. Existem MUITOS operadores fornecidos pelo elixir. Eles são divididos nas seguintes categorias -
- Operadores aritméticos
- Operadores de comparação
- Operadores booleanos
- Operadores diversos
Operadores aritméticos
A tabela a seguir mostra todos os operadores aritméticos suportados pela linguagem Elixir. Assumir variávelA contém 10 e variável B contém 20, então -
Operador | Descrição | Exemplo |
---|---|---|
+ | Adiciona 2 números. | A + B dará 30 |
- | Subtrai o segundo número do primeiro. | AB dará -10 |
* | Multiplica dois números. | A * B dará 200 |
/ | Divide o primeiro número do segundo. Isso converte os números em flutuantes e dá um resultado flutuante | A / B dará 0,5. |
div | Esta função é usada para obter o quociente na divisão. | div (10,20) dará 0 |
rem | Esta função é usada para obter o resto da divisão. | rem (A, B) dará 10 |
Operadores de comparação
Os operadores de comparação no Elixir são mais comuns aos fornecidos na maioria dos outros idiomas. A tabela a seguir resume os operadores de comparação no Elixir. Assumir variávelA contém 10 e variável B contém 20, então -
Operador | Descrição | Exemplo |
---|---|---|
== | Verifica se o valor à esquerda é igual ao valor à direita (tipo projeta valores se eles não forem do mesmo tipo). | A == B dará falso |
! = | Verifica se o valor à esquerda não é igual ao valor à direita. | A! = B dará verdadeiro |
=== | Verifica se o tipo de valor à esquerda é igual ao tipo de valor à direita; em caso afirmativo, verifica o mesmo para o valor. | A === B dará falso |
! == | O mesmo que acima, mas verifica a desigualdade em vez da igualdade. | A! == B dará verdadeiro |
> | Verifica se o valor do operando esquerdo é maior que o valor do operando direito; se sim, então a condição se torna verdadeira. | A> B dará falso |
< | Verifica se o valor do operando esquerdo é menor que o valor do operando direito; se sim, então a condição se torna verdadeira. | A <B dará verdadeiro |
> = | Verifica se o valor do operando esquerdo é maior ou igual ao valor do operando direito; se sim, então a condição se torna verdadeira. | A> = B dará falso |
<= | Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito; se sim, então a condição se torna verdadeira. | A <= B dará verdadeiro |
Operadores lógicos
Elixir fornece 6 operadores lógicos: and, or, not, &&, || e! Os três primeiros,and or notsão operadores booleanos estritos, o que significa que eles esperam que seu primeiro argumento seja um booleano. O argumento não booleano gerará um erro. Enquanto os próximos três,&&, || and !não são estritos, não exigem que tenhamos o primeiro valor estritamente como um booleano. Eles funcionam da mesma maneira que suas contrapartes estritas. Assumir variávelA é verdadeiro e variável B contém 20, então -
Operador | Descrição | Exemplo |
---|---|---|
e | Verifica se ambos os valores fornecidos são verdadeiros; em caso afirmativo, retorna o valor da segunda variável. (Lógico e). | A e B darão 20 |
ou | Verifica se algum valor fornecido é verdadeiro. Retorna o valor verdadeiro. Else retorna falso. (Lógico ou). | A ou B dará verdadeiro |
não | Operador unário que inverte o valor da entrada dada. | não A dará falso |
&& | Não estrito and. Funciona igual aand mas não espera que o primeiro argumento seja um booleano. | B && A dará 20 |
|| | Não estrito or. Funciona igual aor mas não espera que o primeiro argumento seja um booleano. | B || A vai dar verdadeiro |
! | Não estrito not. Funciona igual anot mas não espera que o argumento seja um booleano. | ! A vai dar falso |
NOTE −e , ou , && e || || são operadores de curto-circuito. Isso significa que se o primeiro argumento deandfor falso, então ele não verificará mais o segundo. E se o primeiro argumento deorfor verdadeiro, então ele não verificará o segundo. Por exemplo,
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
Operadores bit a bit trabalham em bits e realizam operação bit a bit. Elixir fornece módulos bit a bit como parte do pacoteBitwise, então, para usá-los, você precisa usar o módulo bit a bit. Para usá-lo, digite o seguinte comando em seu shell -
use Bitwise
Suponha que A seja 5 e B seja 6 para os seguintes exemplos -
Operador | Descrição | Exemplo |
---|---|---|
&&& | O bit a bit e o operador copiam um bit para o resultado se ele existir em ambos os operandos. | A &&& B dará 4 |
||| | O operador bit a bit ou copia um bit para o resultado se ele existir em qualquer operando. | A ||| B dará 7 |
>>> | O operador de deslocamento para a direita bit a bit desloca os primeiros bits do operando para a direita pelo número especificado no segundo operando. | A >>> B dará 0 |
<<< | O operador de deslocamento para a esquerda bit a bit desloca os primeiros bits do operando para a esquerda pelo número especificado no segundo operando. | A <<< B dará 320 |
^^^ | O operador XOR bit a bit copia um bit para o resultado apenas se for diferente em ambos os operandos. | A ^^^ B dará 3 |
~~~ | O unário bit a bit não inverte os bits no número fornecido. | ~~~ A dará -6 |
Operadores diversos
Além dos operadores acima, Elixir também oferece uma variedade de outros operadores como Concatenation Operator, Match Operator, Pin Operator, Pipe Operator, String Match Operator, Code Point Operator, Capture Operator, Ternary Operator que o tornam uma linguagem bastante poderosa.