Euphoria - Operadores

Euphoria proporciona un amplio conjunto de operadores para manipular variables. Podemos dividir todos los operadores de Euphoria en los siguientes grupos:

  • Operadores aritméticos
  • Operadores relacionales
  • Operadores logicos
  • Operadores de Asignación
  • Operadores varios

Los operadores aritméticos

Los operadores aritméticos se usan en expresiones matemáticas de la misma manera que se usan en álgebra. La siguiente tabla enumera los operadores aritméticos. Suponga que la variable entera A tiene 10 y la variable B tiene 20, entonces -

Mostrar ejemplos

Operador Descripción Ejemplo
+ Adición: agrega valores a ambos lados del operador A + B dará 30
- Resta: resta el operando de la mano derecha del operando de la mano izquierda A - B dará -10
* Multiplicación: multiplica los valores a ambos lados del operador A * B dará 200
/ División: divide el operando de la izquierda por el operando de la derecha B / A dará 2
+ Más unario: esto no tiene ningún impacto en el valor de la variable. + B da 20
- Menos unario: esto crea un valor negativo de la variable dada. -B da -20

Los operadores relacionales

Existen los siguientes operadores relacionales compatibles con el lenguaje Euphoria. Suponga que la variable A tiene 10 y la variable B tiene 20, entonces -

Mostrar ejemplos

Operador Descripción Ejemplo
= Comprueba si el valor de dos operandos es igual o no, si es así, la condición se convierte en verdadera. (A = B) no es cierto.
! = Comprueba si el valor de dos operandos es igual o no, si los valores no son iguales, la condición se convierte en verdadera. (A! = B) es cierto.
> Comprueba si el valor del operando izquierdo es mayor que el valor del operando derecho, si es así, la condición se convierte en verdadera. (A> B) no es cierto.
< Comprueba si el valor del operando izquierdo es menor que el valor del operando derecho, si es así, la condición se convierte en verdadera. (A <B) es cierto.
> = Comprueba si el valor del operando izquierdo es mayor o igual que el valor del operando derecho, si es así, la condición se convierte en verdadera. (A> = B) no es cierto.
<= Comprueba si el valor del operando izquierdo es menor o igual que el valor del operando derecho, si es así, la condición se convierte en verdadera. (A <= B) es cierto.

Los operadores lógicos

La siguiente tabla enumera los operadores lógicos. Suponga que las variables booleanas A tienen 1 y la variable B tiene 0 entonces -

Mostrar ejemplos

Operador Descripción Ejemplo
y Operador llamado lógico AND. Si ambos operandos son distintos de cero, la condición se vuelve verdadera. (A y B) es falso.
o Operador OR lógico llamado. Si alguno de los dos operandos es distinto de cero, la condición se cumple. (A o B) es cierto.
xor Operador XOR lógico llamado. La condición es verdadera si uno de ellos es verdadero, si ambos operandos son verdaderos o falsos, la condición se vuelve falsa. (A xor B) es cierto.
no Operador llamado lógico NOT que niega el resultado. Usando este operador, verdadero se vuelve falso y falso se vuelve verdadero no (B) es cierto.

También puede aplicar estos operadores a números distintos de 1 o 0. La convención es: cero significa falso y distinto de cero significa verdadero .

Los operadores de asignación

Existen los siguientes operadores de asignación compatibles con el lenguaje Euphoria:

Mostrar ejemplos

Operador Descripción Ejemplo
= Operador de asignación simple, asigna valores de los operandos del lado derecho al operando del lado izquierdo C = A + B asignará el valor de A + B a C
+ = Agregar operador de asignación Y, agrega el operando derecho al operando izquierdo y asigna el resultado al operando izquierdo C + = A es equivalente a C = C + A
- = Restar operador de asignación Y, resta el operando derecho del operando izquierdo y asigna el resultado al operando izquierdo C - = A es equivalente a C = C - A
* = Multiplica el operador de asignación AND, multiplica el operando derecho con el operando izquierdo y asigna el resultado al operando izquierdo C * = A es equivalente a C = C * A
/ = Operador de división Y asignación, divide el operando izquierdo con el operando derecho y asigna el resultado al operando izquierdo C / = A es equivalente a C = C / A
& = Operador de concatenación C & = {2} es lo mismo que C = {C} & {2}

Note - El símbolo igual '=' utilizado en una declaración de asignación no es un operador, es solo una parte de la sintaxis.

Operadores varios

Hay algunos otros operadores compatibles con Euphoria Language.

El operador

Se pueden concatenar dos objetos cualesquiera utilizando el operador "&". El resultado es una secuencia con una longitud igual a la suma de las longitudes de los objetos concatenados.

Por ejemplo

#!/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] )

Esto produce el siguiente resultado:

Value of c[1] 1
Value of c[2] 2
Value of c[3] 3
Value of c[4] 4

Precedencia de los operadores Euphoria

La precedencia del operador determina la agrupación de términos en una expresión. Esto afecta cómo se evalúa una expresión. Algunos operadores tienen mayor precedencia que otros; por ejemplo, el operador de multiplicación tiene mayor precedencia que el operador de suma.

Por ejemplo, x = 7 + 3 * 2

Aquí, a x se le asigna 13, no 20 porque el operador * tiene mayor precedencia que +.

Por lo tanto, primero comienza con 3 * 2 y luego se suma a 7.

Aquí los operadores con mayor precedencia aparecen en la parte superior de la tabla, los que tienen la menor precedencia aparecen en la parte inferior. Dentro de una expresión, los operadores de mayor precedencia se evalúan primero.

Categoría Operador Asociatividad
Sufijo llamadas de función / tipo  
Unario + -! no De derecha a izquierda
Multiplicativo * / De izquierda a derecha
Aditivo + - De izquierda a derecha
Concatenación Y De izquierda a derecha
Relacional >> = <<= De izquierda a derecha
Igualdad =! = De izquierda a derecha
Y lógico y De izquierda a derecha
OR lógico o De izquierda a derecha
XOR lógico xor De izquierda a derecha
Coma , De izquierda a derecha