Clojure - Operadores
A operator é um símbolo que diz ao compilador para realizar manipulações matemáticas ou lógicas específicas.
Clojure tem os seguintes tipos de operadores -
- Operadores aritméticos
- Operadores relacionais
- Operadores lógicos
- Operadores bit a bit
Note - No Clojure, os operadores e operandos funcionam da seguinte maneira de sintaxe.
Sintaxe
(operator operand1 operand2 operandn)
Por exemplo,
Exemplo
(+ 1 2)
O exemplo acima faz uma operação aritmética nos números 1 e 2.
Operadores aritméticos
A linguagem Clojure suporta os operadores aritméticos normais como qualquer linguagem. A seguir estão os operadores aritméticos disponíveis em Clojure.
Mostrar exemplos
Operador | Descrição | Exemplo |
---|---|---|
+ | Adição de dois operandos | (+ 1 2) dará 3 |
- | Subtrai o segundo operando do primeiro | (- 2 1) dará 1 |
* | Multiplicação de ambos os operandos | (* 2 2) dará 4 |
/ | Divisão do numerador por denominador | (flutuação (/ 3 2)) dará 1,5 |
inc | Operadores incrementais usados para incrementar o valor de um operando em 1 | inc 5 dará 6 |
dezembro | Operadores incrementais usados para diminuir o valor de um operando em 1 | 5 de dezembro dará 4 |
max | Retorna o maior de seus argumentos | no máximo 1 2 3 retornará 3 |
min | Retorna o menor de seus argumentos | min 1 2 3 retornará 1 |
rem | Restante da divisão do primeiro número pelo segundo | rem 3 2 dará 1 |
Operadores Relacionais
Os operadores relacionais permitem a comparação de objetos. A seguir estão os operadores relacionais disponíveis em Clojure.
Mostrar exemplos
Operador | Descrição | Exemplo |
---|---|---|
= | Testa a igualdade entre dois objetos | (= 2 2) dará verdadeiro |
não = | Testa a diferença entre dois objetos | (não = 3 2) dará verdadeiro |
< | Verifica se o objeto esquerdo é menor que o operando direito | (<2 3) dará verdadeiro |
<= | Verifica se o objeto esquerdo é menor ou igual ao operando direito | (<= 2 3) dará verdadeiro |
> | Verifica se o objeto esquerdo é maior que o operando direito | (> 3 2) dará verdadeiro |
> = | Verifica se o objeto esquerdo é maior ou igual ao operando direito | (> = 3 2) dará verdadeiro |
Operadores lógicos
Operadores lógicos são usados para avaliar expressões booleanas. A seguir estão os operadores lógicos disponíveis no Groovy.
Mostrar exemplos
Operador | Descrição | Exemplo |
---|---|---|
and | Este é o operador lógico “e” | (ou verdadeiro verdadeiro) dará verdadeiro |
or | Este é o operador lógico “ou” | (e verdadeiro falso) dará falso |
not | Este é o operador lógico “não” | (não falso) dará verdadeiro |
O fragmento de código a seguir mostra como os vários operadores podem ser usados.
Operadores bit a bit
Clojure fornece quatro operadores bit a bit. A seguir estão os operadores bit a bit disponíveis no Clojure.
Mostrar exemplos
Sr. Não. | Operador e descrição |
---|---|
1 | bit-and Este é o operador “e” bit a bit |
2 | bit-or Este é o operador bit a bit “ou” |
3 | bit-xor Este é o bit a bit “xor” ou operador exclusivo 'ou' |
4 | bit-not Este é o operador de negação bit a bit |
A seguir está a tabela de verdade mostrando esses operadores.
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 |
operador precedente
Como é o caso com LISPs em geral, não há necessidade de se preocupar com a precedência do operador. Este é um dos benefícios das expressões S e da notação de prefixo. Todas as funções são avaliadas da esquerda para a direita e de dentro para fora. Os operadores em Clojure são apenas funções e tudo está entre parênteses.