IBM Tivoli Monitoring Agent Builder, Versión 6.3.0

Operadores y expresiones

Las expresiones realizan acciones específicas, según un operador, con uno o dos operandos. Un operando puede ser una constante, una variable o el resultado de una función. Los operadores son aritméticos, lógicos y relacionales. Al igual que sucede en C, la funcionalidad de un operador puede variar según el tipo de datos de los operandos especificados en la expresión.

Operadores aritméticos ( +, -, *, /, **, % )
Los operadores aritméticos realizan operaciones matemáticas, como sumas o restas con operandos. Hay dos tipos de operadores matemáticos: unarios y binarios. Los operadores unarios realizan una acción con un solo operando. Los operadores binarios realizan acciones con dos operandos. En una expresión compleja (dos o más operandos), el orden de evaluación depende de las reglas de precedencia.
Operadores aritméticos unarios
Los operadores unarios son operadores aritméticos que realizan una acción sobre un solo operando. El lenguaje de script reconoce el operador unario negativo (-).

El operador unario negativo invierte el signo de una expresión, de positivo a negativo o viceversa. El efecto neto es el de multiplicar el número por -1. Ejemplo:

a = -10;

Los operadores de prefijo aumentan y reducen la variable antes de hacer eliminar la referencia al objeto, mientras que los operadores de postfijo aumentan o reducen la variable después de hacer referencia a la misma. Ejemplo:

A=1; 
B = a++; // b será igual a 1, a será igual a 2; 
A = 1; 
B = ++a; // b será igual a 2, a será igual a 2; 
A= 1; 
B = a--; // b será igual a 1, a será igual a 0;
Operadores aritméticos binarios
Inserte un espacio antes y después de un operador aritmético. A continuación se listan los operadores aritméticos binarios que reciben soporte.
Tabla 1. Operadores aritméticos binarios
Símbolo Operación Ejemplo Descripción
+ Suma a + b Sumar los dos operandos
- Resta a - b Restar el segundo operando del primero
* Multiplicación a * b Multiplicar los dos operandos
/ División a / b Dividir el primer operando por el segundo
** Potencia a ** b Elevar el primer operando a la potencia del segundo operando
%

Resto

a % b

Dividir el primer operando por el segundo y dar como resultado la parte restante
Precedencia del operador
Las expresiones suelen evaluarse de izquierda a derecha. Las expresiones complejas se evalúan una a una. El orden en el que se evalúan las expresiones se determina mediante la precedencia de los operadores utilizados. Se sigue el orden estándar de C.
  1. negación (-) unaria
  2. potencia
  3. multiplicación, división y resto
  4. suma y resta

Si una expresión contiene dos o más operadores con la misma precedencia, el operador de la izquierda se evalúa en primer lugar. Por ejemplo, 10 / 2 * 5 se evaluará como (10 / 2) y el resultado se multiplicará por 5.

Cuando se deba procesar primero una operación con menor precedencia, se deberá incluir entre paréntesis. Por ejemplo, 30 / 2 + 8. Esto se evalúa normalmente como 30 dividido entre 2 y luego se suma 8 al resultado. Si desea dividir por 2 + 8, se debe escribir del modo siguiente: 30 / (2 + 8).

Los paréntesis pueden aparecer anidados dentro de expresiones. Las expresiones entre paréntesis más internas se evalúan en primer lugar.

Operador de asignación (= )
Utilice el operador de asignación (=) para copiar una constante, literal, resultado de expresión de variables o resultado de función en una variable. El lenguaje de script no permite varias asignaciones en una sola sentencia (como a=b=c=0). Las longitudes de las cadenas de caracteres se definen según el tamaño de la cadena de caracteres asignada a la variable y se pueden modificar de forma dinámica en el momento de la ejecución.
Operadores lógicos (AND, OR)
Los operadores lógicos permiten combinar más de una prueba relacionar en una comparación. Los operadores lógicos devuelven el valor TRUE (1) o FALSE (0). Los operadores lógicos tienen una menor precedencia que los operadores aritméticos.
Tabla 2. Operadores lógicos
Símbolo Operación Ejemplo Descripción
AND &&

AND

Expr1 $$ expr2

Verdadero si tanto expr1 como expr2 son verdaderas.

OR ||

OR

Expr1 OR expr2

Verdadero si expr1 o expr2 son verdaderas.

Operadores relacionales
Los operadores relacionales son los siguientes:
Tabla 3. Operadores relacionales
Símbolo Operación Ejemplo Descripción
< Menor que a < b Verdadero si a es menor que b.
> Mayor que a GT b Verdadero si a es mayor que b.
== Igual a == b Verdadero si a es igual a b.
!= No igual a NE b Verdadero si a no es igual a b.
<= Menor o igual que a <= b Verdadero si a es menor o igual que b.
>= Mayor o igual que a GE b Verdadero si a es mayor o igual que b.

Las comparaciones deben realizarse sobre tipos de datos similares: cadena de caracteres con cadena de caracteres, números con números. Si los tipos de datos son distintos, se producirá un error en el momento de la ejecución.

Comparaciones entre cadenas de caracteres
Se considera que dos cadenas de caracteres son iguales si coinciden carácter por carácter y tienen la misma longitud. Las cadenas de caracteres se comparan carácter por carácter, de izquierda a derecha hasta comparar todos los caracteres o hasta que finaliza una de las cadenas de caracteres. Si se encuentra el final de una cadena de caracteres antes que el final de la cadena de caracteres correspondiente, se considera que las cadenas de caracteres tienen longitudes diferentes y el resultado es una condición no igual.

Si cualquiera de los caracteres de una cadena de caracteres no coincide con el carácter correspondiente de la otra, la comparación se detiene y se considera que las cadenas de caracteres no son iguales. Las cadenas de caracteres distinguen entre mayúsculas y minúsculas. Ejemplos:

Str1 = "abcdefg"; 
Str2 = "abcdefg"; 
Str3 = "abcdef"; 
Str4 = "ABCDEFG"; 
If (str1 == str2)... da lugar a una condición igual/verdadero 
If (str1 == str3).... Da lugar a una condición no igual a 
porque str3 es más corto que str1 
If (str1 == str4) ... Da lugar a una condición no igual a 
porque las cadenas de caracteres contienen distintas mayúsculas y minúsculas;
Operador de concatenación de cadenas de caracteres (+)
El operador Más(+), aplicado a cadenas de caracteres, da lugar a la concatenación de dos cadenas de caracteres. Ejemplo:
Str1 = "abc"; 
Str2 = "def"; 
Str3 = str1 + str2; da lugar a "abcdef"


Comentarios