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 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 in operador 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 * 414  (multiplication first)
    10 > 5 && 3 < 7true  (comparisons before AND)
  • Con paréntesis:

    (2 + 3) * 420  (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