Nesta página

Operadores e precedência

As expressões do ProcessMind aceitam vários operadores para cálculos aritméticos, comparações e operações lógicas.

Operadores

Operadores aritméticos

Símbolo Name Descrição Exemplo Resultado
+ Adição Soma dois números ou concatena textos 5 + 3 8
- Subtração Subtrai o segundo número do primeiro 10 - 4 6
* Multiplicação Multiplica dois números 6 * 7 42
/ Divisão Divide o primeiro número pelo segundo 15 / 3 5

Operadores de comparação

Símbolo Name Descrição Exemplo Resultado
== Igual Verifica se dois valores são iguais Status == "Active" verdadeiro ou falso
!= Diferente Verifica se dois valores são diferentes Status != "Deleted" verdadeiro ou falso
< Menor que Verifica se o primeiro valor é menor que o segundo Amount < 100 verdadeiro ou falso
> Maior que Verifica se o primeiro valor é maior que o segundo Amount > 1000 verdadeiro ou falso
<= Menor ou igual a Verifica se o primeiro valor é menor ou igual ao segundo Count <= 10 verdadeiro ou falso
>= Maior ou igual a Verifica se o primeiro valor é maior ou igual ao segundo Score >= 80 verdadeiro ou falso
in Em uma lista Verifica se um valor está em uma lista de valores Status in ["A", "B", "C"] verdadeiro ou falso

Operadores lógicos

Símbolo Name Descrição Exemplo Resultado
&& E lógico Retorna verdadeiro se as duas condições forem verdadeiras Amount > 100 && Status == "Active" verdadeiro ou falso
and E lógico (palavra-chave) Alternativa a &&. Retorna verdadeiro se as duas condições forem verdadeiras Amount > 100 and Status == "Active" verdadeiro ou falso
|| Ou lógico Retorna verdadeiro se pelo menos uma condição for verdadeira Priority == "High" || Urgent == true verdadeiro ou falso
or Ou lógico (palavra-chave) Alternativa a ||. Retorna verdadeiro se pelo menos uma condição for verdadeira Priority == "High" or Urgent == true verdadeiro ou falso
! Não lógico Inverte um valor booleano !IsDeleted verdadeiro ou falso
not Não lógico (palavra-chave) Alternativa a !. Inverte um valor booleano not IsDeleted verdadeiro ou falso

Precedência

Os operadores com maior precedência são avaliados primeiro. Você pode usar parênteses para alterar a precedência padrão.

Precedência Category Operadores Associativity
1 Ou lógico || , or Da esquerda para a direita
2 E lógico && , and Da esquerda para a direita
3 Igualdade == , != Da esquerda para a direita
4 Comparação < , > , <= , >= , in Da esquerda para a direita
5 Adição/Subtração + , - Da esquerda para a direita
6 Multiplicação/Divisão * , / Da esquerda para a direita
7 Unário ! , not , - Da direita para a esquerda
8 Chamada de função () Da esquerda para a direita
9 Parênteses ( ) —

Observações sobre operadores

  • Concatenação de textos com +: o operador + também concatena textos quando um dos operandos é um texto:

    "Hello" + " " + "World"  →  "Hello World"
  • O operador in equivale a várias comparações com OR:

    Status in ["Pending", "Active", "Review"]
    // is the same as:
    Status == "Pending" || Status == "Active" || Status == "Review"

Exemplos

  • Combinar condições:

    // 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 ternário

O operador ternário é uma forma abreviada de escrever uma lógica simples de se/senão:

  • Sintaxe:

    condition ? valueIfTrue : valueIfFalse
  • Exemplo:

    Amount > 1000 ? "High" : "Low"
  • Equivalente a:

    if(Amount > 1000, "High", "Low")

Exemplos de precedência

  • Sem parênteses:

    2 + 3 * 4     →  14  (multiplication first)
    10 > 5 && 3 < 7  →  true  (comparisons before AND)
  • Com parênteses:

    (2 + 3) * 4   →  20  (addition first)

Sintaxe especial

  • Identificadores entre aspas: se o nome de uma coluna tiver espaços ou caracteres especiais, use crases:

    `Order Amount` * 0.1
    `Customer Name`
    `2024 Revenue`
  • Escape de caracteres em textos: use a barra invertida para escapar caracteres especiais em textos:

    "Line 1\nLine 2"     // newline
    "Tab\there"          // tab
    "Say \"Hello\""      // double quote
    "Path\\to\\file"     // backslash
  • Valores nulos: null representa um valor ausente, e qualquer comparação que envolva null retorna null em vez de true ou false. Para verificar se um valor está ausente, use a função isNull():

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

Tópicos relacionados

Melhore seus processos. Crie uma arquitetura conectada. Mantenha o controle.

Acesse na hora, sem cartão de crédito nem espera. Transforme a forma como sua organização trabalha em modelos de processo claros e conectados.

Crie sua arquitetura de processos, defina responsabilidades e controles e alinhe papéis e atribuições em todos os níveis.

Comece o teste grátis e crie uma base confiável para governar, gerenciar e melhorar seus processos continuamente.