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 son distintos | 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 una lista | Comprueba si un valor está 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 verdadero si ambas condiciones son verdaderas | Amount > 100 && Status == "Active" | verdadero o falso |
| and | AND lógico (palabra clave) | Alias de &&. Devuelve verdadero si ambas condiciones son verdaderas | Amount > 100 and Status == "Active" | verdadero o falso |
| || | OR lógico | Devuelve verdadero si al menos una condición es verdadera | Priority == "High" || Urgent == true | verdadero o falso |
| or | OR lógico (palabra clave) | Alias de ||. Devuelve verdadero si al menos una condición es verdadera | Priority == "High" or Urgent == true | verdadero o falso |
| ! | NOT lógico | Invierte un valor booleano | !IsDeleted | verdadero o falso |
| not | NOT lógico (palabra clave) | Alias de !. Invierte un valor booleano | not IsDeleted | verdadero o falso |
Precedencia
Los operadores con mayor precedencia se evalúan primero. Puede usar paréntesis para cambiar el orden de precedencia predeterminado.
| 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 operador
inequivale 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 simple de si/entonces:
-
Sintaxis:
condition ? valueIfTrue : valueIfFalse -
Ejemplo:
Amount > 1000 ? "High" : "Low" -
Equivale 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 el nombre de una columna contiene espacios o caracteres especiales, escríbalo entre acentos graves:
`Order Amount` * 0.1 `Customer Name` `2024 Revenue` -
Caracteres de escape en cadenas: use la barra invertida para indicar caracteres especiales en las cadenas:
"Line 1\nLine 2" // newline "Tab\there" // tab "Say \"Hello\"" // double quote "Path\\to\\file" // backslash -
Valores nulos:
nullrepresenta un valor ausente, y cualquier comparación que incluyanulldevuelvenullen lugar detrueofalse. Para comprobar si falta un valor, use la funciónisNull():if(isNull(Department), "Unknown", Department)
Temas relacionados
- Descripción general de las expresiones: todas las funciones de expresiones.
Diseñe mejores procesos. Conecte su arquitectura. Mantenga el control.
Acceda de inmediato, sin tarjeta de crédito ni esperas. Transforme la forma de trabajar de su organización en diseños de procesos claros y conectados.
Defina la arquitectura de procesos, los responsables y los controles, y alinee las funciones y responsabilidades en todos los niveles.
Comience su prueba gratuita y establezca una base fiable para gobernar, gestionar y mejorar continuamente sus procesos.