En esta página

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 in 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 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: null representa un valor ausente, y cualquier comparación que incluya null devuelve null en lugar de true o false. Para comprobar si falta un valor, use la función isNull():

    if(isNull(Department), "Unknown", Department)

Temas relacionados

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.