Puede utilizar diversos operadores en FPScript, por ejemplo para operaciones aritméticas y lógicas, de comparación y de concatenación. Puede utilizar los operadores para calcular valores individuales o series completas de datos, matrices de datos, señales, series de señales o curvas espaciales.
Prioridad del operador
Si en una expresión aparecen varios operadores, cada componente se evalúa y resuelve en un orden predefinido. Esta secuencia se denomina prioridad del operador. Puede anular la prioridad del operador mediante paréntesis y forzar la evaluación de los componentes de una expresión antes que la de otros componentes. Las operaciones entre paréntesis se realizan siempre antes que las operaciones fuera de paréntesis. Sin embargo, dentro de los corchetes se aplica la prioridad normal de los operadores.
Si una expresión contiene operadores de diferentes categorías, estos se evalúan en el orden especificado a continuación. Todos los operadores de comparación tienen el mismo rango, es decir, se evalúan en el orden en que aparecen de izquierda a derecha. Los operadores aritméticos y lógicos se evalúan en el siguiente orden:
Descripción |
Símbolo |
|---|---|
Conversión |
|
Boolean |
|
Integer16 |
|
Integer32 |
|
Integer64 |
|
FloatingPoint32 |
|
FloatingPoint64 |
|
ComplexInteger16 |
|
ComplexInteger32 |
|
ComplexInteger64 |
|
ComplexFloatingPoint32 |
|
ComplexFloatingPoint64 |
|
String |
|
CalendarTime |
|
TimeSpan |
|
Unit |
|
Value |
|
Aritmética |
|
- |
|
^ |
|
* |
|
/ |
|
Mod |
|
+ |
|
- |
|
# |
|
Números complejos |
|
Real |
|
Imag |
|
* |
|
Comparación * |
|
< |
|
> |
|
<= |
|
>= |
|
== |
|
<> |
|
Lógica |
|
~ |
|
& |
|
XOr |
|
| |
|
Not |
|
And |
|
Or |
|
Organización de los datos |
|
: |
|
# |
|
( , ) |
|
{ , } |
|
( , , ) |
|
[ , ] |
|
Acceso a los datos |
|
.X .Y .Z |
|
. |
|
.[ ] |
|
[ , ] [[ , ]] |
|
$$ |
|
Si en una expresión aparecen multiplicaciones y divisiones, cada operación se realiza en el orden en que aparece, de izquierda a derecha. El mismo procedimiento se utiliza si en una expresión aparecen la suma y la resta o la concatenación y la multiplicación.
Asociatividad
La potenciación es el único operador asociativo a la derecha. Esto significa que varias exponencias se resuelven sucesivamente de derecha a izquierda. Todos los demás operadores se procesan de izquierda a derecha.
Tratamiento de expresiones lógicas
Una conjunción lógica (operación Y) o sus secuencias solo se evalúan hasta que se determina definitivamente el resultado, es decir, hasta que la primera expresión es FALSE. Lo mismo ocurre con la disyunción lógica (vínculo O). Se evalúan hasta que la primera expresión devuelva TRUE. Esto no se aplica a las operaciones lógicas bit a bit.
En el siguiente ejemplo, solo se llama a Test(conjunto de datos2) si Test(conjunto de datos1) devuelve TRUE. Si Test(conjunto de datos1) devuelve FALSE, entonces el resultado final de la operación Y es FALSE.
If Test(conjunto de datos1) And Test(conjunto de datos2) Then
...
End
* Este operador o todos los operadores de esta categoría no están disponibles en FlexPro View.