Euforia - Operadores
O Euphoria fornece um rico conjunto de operadores para manipular variáveis. Podemos dividir todos os operadores Euphoria nos seguintes grupos -
- Operadores aritméticos
- Operadores Relacionais
- Operadores lógicos
- Operadores de atribuição
- Operadores diversos
Os operadores aritméticos
Operadores aritméticos são usados em expressões matemáticas da mesma forma que são usados em álgebra. A tabela a seguir lista os operadores aritméticos. Assuma que a variável inteira A contém 10 e a variável B contém 20, então -
Operador | Descrição | Exemplo |
---|---|---|
+ | Adição - adiciona valores em ambos os lados do operador | A + B dará 30 |
- | Subtração - subtrai o operando direito do operando esquerdo | A - B dará -10 |
* | Multiplicação - Multiplica valores em ambos os lados do operador | A * B dará 200 |
/ | Divisão - Divide operando esquerdo pelo operando direito | B / A dará 2 |
+ | Mais unário - Não tem impacto no valor da variável. | + B dá 20 |
- | Menos unário - Isso cria um valor negativo da variável fornecida. | -B dá -20 |
Os operadores relacionais
Existem os seguintes operadores relacionais suportados pela linguagem Euphoria. Suponha que a variável A tenha 10 e a variável B tenha 20, então -
Operador | Descrição | Exemplo |
---|---|---|
= | Verifica se os valores de dois operandos são iguais ou não, se sim a condição torna-se verdadeira. | (A = B) não é verdade. |
! = | Verifica se o valor de dois operandos é igual ou não; se os valores não são iguais, a condição se torna verdadeira. | (A! = B) é verdade. |
> | Verifica se o valor do operando esquerdo é maior que o valor do operando direito, se sim, a condição torna-se verdadeira. | (A> B) não é verdade. |
< | Verifica se o valor do operando esquerdo é menor que o valor do operando direito; se sim, a condição torna-se verdadeira. | (A <B) é verdade. |
> = | Verifica se o valor do operando esquerdo é maior ou igual ao valor do operando direito, se sim a condição torna-se verdadeira. | (A> = B) não é verdade. |
<= | Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito; em caso afirmativo, a condição torna-se verdadeira. | (A <= B) é verdadeiro. |
Os operadores lógicos
A tabela a seguir lista os operadores lógicos. Assuma que as variáveis booleanas A possuem 1 e a variável B contém 0, então -
Operador | Descrição | Exemplo |
---|---|---|
e | Operador lógico chamado AND. Se ambos os operandos forem diferentes de zero, a condição se torna verdadeira. | (A e B) é falso. |
ou | Operador lógico ou chamado. Se qualquer um dos dois operandos for diferente de zero, a condição se torna verdadeira. | (A ou B) é verdade. |
xor | Operador lógico XOR chamado. A condição é verdadeira se um deles for verdadeiro, se ambos os operandos forem verdadeiros ou falsos, a condição torna-se falsa. | (A xor B) é verdade. |
não | Operador lógico chamado NOT que nega o resultado. Usando este operador, verdadeiro se torna falso e falso se torna verdadeiro | não (B) é verdade. |
Você também pode aplicar esses operadores a números diferentes de 1 ou 0. A convenção é: zero significa falso e diferente de zero significa verdadeiro .
Os Operadores de Atribuição
Existem os seguintes operadores de atribuição suportados pela linguagem Euphoria -
Operador | Descrição | Exemplo |
---|---|---|
= | Operador de atribuição simples, atribui valores de operandos do lado direito para operando do lado esquerdo | C = A + B irá atribuir o valor de A + B em C |
+ = | Adicionar operador de atribuição AND, adiciona o operando direito ao operando esquerdo e atribui o resultado ao operando esquerdo | C + = A é equivalente a C = C + A |
- = | Subtrai o operador de atribuição E, subtrai o operando direito do operando esquerdo e atribui o resultado ao operando esquerdo | C - = A é equivalente a C = C - A |
* = | Operador de atribuição Multiply AND, multiplica o operando direito pelo operando esquerdo e atribui o resultado ao operando esquerdo | C * = A é equivalente a C = C * A |
/ = | Operador de atribuição e divisão, divide o operando esquerdo com o operando direito e atribui o resultado ao operando esquerdo | C / = A é equivalente a C = C / A |
& = | Operador de concatenação | C & = {2} é igual a C = {C} & {2} |
Note - O símbolo de igual '=' usado em uma instrução de atribuição não é um operador, é apenas uma parte da sintaxe.
Operadores diversos
Existem alguns outros operadores suportados pela Euphoria Language.
O operador
Quaisquer dois objetos podem ser concatenados usando o operador “&”. O resultado é uma sequência com comprimento igual à soma dos comprimentos dos objetos concatenados.
Por exemplo -
#!/home/euphoria-4.0b2/bin/eui
sequence a, b, c
a = {1, 2, 3}
b = {4}
c = {1, 2, 3} & {4}
printf(1, "Value of c[1] %d\n", c[1] )
printf(1, "Value of c[2] %d\n", c[2] )
printf(1, "Value of c[3] %d\n", c[3] )
printf(1, "Value of c[4] %d\n", c[4] )
Isso produz o seguinte resultado -
Value of c[1] 1
Value of c[2] 2
Value of c[3] 3
Value of c[4] 4
Precedência de operadores de euforia
A precedência do operador determina o agrupamento de termos em uma expressão. Isso afeta como uma expressão é avaliada. Certos operadores têm precedência mais alta do que outros; por exemplo, o operador de multiplicação tem precedência mais alta do que o operador de adição.
Por exemplo, x = 7 + 3 * 2
Aqui, x é atribuído a 13, não 20, porque o operador * tem precedência maior do que +.
Portanto, ele primeiro começa com 3 * 2 e, em seguida, adiciona 7.
Aqui, os operadores com a precedência mais alta aparecem na parte superior da tabela, aqueles com a mais baixa aparecem na parte inferior. Em uma expressão, os operadores de precedência mais alta são avaliados primeiro.
Categoria | Operador | Associatividade |
---|---|---|
Postfix | chamadas de função / tipo | |
Unário | + -! não | Direita para esquerda |
Multiplicativo | * / | Da esquerda para direita |
Aditivo | + - | Da esquerda para direita |
Concatenação | E | Da esquerda para direita |
Relacional | >> = <<= | Da esquerda para direita |
Igualdade | =! = | Da esquerda para direita |
E lógico | e | Da esquerda para direita |
OR lógico | ou | Da esquerda para direita |
XOR lógico | xor | Da esquerda para direita |
Vírgula | , | Da esquerda para direita |