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 -

Mostrar exemplos

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 -

Mostrar exemplos

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 -

Mostrar exemplos

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 -

Mostrar 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.

Mostrar exemplos