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 -
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 -
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 -
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:
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 |