Operadores y precedencia
Las expresiones de ProcessMind admiten diversos operadores para realizar cálculos aritméticos, comparaciones y operaciones lógicas.
Operadores
Operadores aritméticos
| Símbolo | Name | Descripción | Ejemplo | Resultado |
|---|---|---|---|---|
| + | Suma | Suma dos números o concatena cadenas | 5 + 3 | 8 |
| - | Resta | Resta el segundo número del primero | 10 - 4 | 6 |
| * | Multiplicación | Multiplica dos números | 6 * 7 | 42 |
| / | División | Divide el primer número entre el segundo | 15 / 3 | 5 |
Operadores de comparación
| Símbolo | Name | Descripción | Ejemplo | Resultado |
|---|---|---|---|---|
| == | Igual | Comprueba si dos valores son iguales | Status == "Active" | verdadero o falso |
| != | Distinto | Comprueba si dos valores no son iguales | Status != "Deleted" | verdadero o falso |
| < | Menor que | Comprueba si el primer valor es menor que el segundo | Amount < 100 | verdadero o falso |
| > | Mayor que | Comprueba si el primer valor es mayor que el segundo | Amount > 1000 | verdadero o falso |
| <= | Menor o igual que | Comprueba si el primer valor es menor o igual que el segundo | Count <= 10 | verdadero o falso |
| >= | Mayor o igual que | Comprueba si el primer valor es mayor o igual que el segundo | Score >= 80 | verdadero o falso |
| in | En la lista | Comprueba si un valor está incluido en una lista de valores | Status in ["A", "B", "C"] | verdadero o falso |
Operadores lógicos
| Símbolo | Name | Descripción | Ejemplo | Resultado |
|---|---|---|---|---|
| && | AND lógico | Devuelve true si ambas condiciones son verdaderas | Amount > 100 && Status == "Active" | verdadero o falso |
| and | AND lógico (palabra clave) | Alias de &&. Devuelve true si ambas condiciones son verdaderas | Amount > 100 and Status == "Active" | verdadero o falso |
| || | OR lógico | Devuelve true si al menos una condición es verdadera | Priority == "High" || Urgent == true | verdadero o falso |
| or | OR lógico (palabra clave) | Alias de ||. Devuelve true si al menos una condición es verdadera | Priority == "High" or Urgent == true | verdadero o falso |
| ! | NOT lógico | Niega un valor booleano | ¡!IsDeleted | verdadero o falso |
| not | NOT lógico (palabra clave) | Alias de !. Niega un valor booleano | not IsDeleted | verdadero o falso |
Precedencia
Los operadores con mayor precedencia se evalúan primero. Puede utilizar paréntesis para anular la precedencia predeterminada.
| Precedencia | Category | Operadores | Associativity |
|---|---|---|---|
| 1 | OR lógico | || , or | De izquierda a derecha |
| 2 | AND lógico | && , and | De izquierda a derecha |
| 3 | Igualdad | == , != | De izquierda a derecha |
| 4 | Comparación | < , > , <= , >= , in | De izquierda a derecha |
| 5 | Suma/resta | + , - | De izquierda a derecha |
| 6 | Multiplicación/división | * , / | De izquierda a derecha |
| 7 | Unario | ! , not , - | De derecha a izquierda |
| 8 | Llamada a función | () | De izquierda a derecha |
| 9 | Paréntesis | ( ) | — |
Notas sobre los operadores
-
Concatenación de cadenas con
+: el operador+también concatena cadenas cuando uno de los operandos es una cadena:"Hello" + " " + "World" → "Hello World" -
El
inoperador equivale a varias comparaciones OR:Status in ["Pending", "Active", "Review"] // is the same as: Status == "Pending" || Status == "Active" || Status == "Review"
Ejemplos
-
Combinar condiciones:
// Both conditions must be true Amount > 1000 && Region == "Europe" // At least one condition must be true Priority == "High" or Escalated == true // Negation not IsArchived
Operador ternario
El operador ternario ofrece una forma abreviada de expresar una lógica if/else sencilla:
-
Sintaxis:
condition ? valueIfTrue : valueIfFalse -
Ejemplo:
Amount > 1000 ? "High" : "Low" -
Equivalente a:
if(Amount > 1000, "High", "Low")
Ejemplos de precedencia
-
Sin paréntesis:
2 + 3 * 4 → 14 (multiplication first) 10 > 5 && 3 < 7 → true (comparisons before AND) -
Con paréntesis:
(2 + 3) * 4 → 20 (addition first)
Sintaxis especial
-
Identificadores entre comillas: si un nombre de columna contiene espacios o caracteres especiales, utilice comillas invertidas:
`Order Amount` * 0.1 `Customer Name` `2024 Revenue` -
Escape de cadenas: utilice la barra inversa para escapar caracteres especiales en las cadenas:
"Line 1\nLine 2" // newline "Tab\there" // tab "Say \"Hello\"" // double quote "Path\\to\\file" // backslash -
Valores nulos: utilice null para representar valores ausentes:
if(Department == null, "Unknown", Department)O utilice la función isNull()
if(isNull(Department), "Unknown", Department)
Temas relacionados
- Descripción general de las expresiones: todas las funciones de expresión.