Sintaxe do editor de expressão avançado syntax

As noções básicas de sintaxe ao usar o editor de expressão avançado estão listadas abaixo.

Parênteses e prioridade da expressão parentheses-and-expression-priority

É possível usar parênteses para tornar uma expressão complexa mais legível. (<expressão>) é o equivalente a <expressão>. Também é possível usar parênteses para definir a ordem de avaliação e a associatividade.

As expressões serão avaliadas da esquerda para a direita. A associatividade em operadores aritméticos deve ser aplicada: multiplicações e divisões têm prioridade sobre adições e subtrações. Para impor uma ordem específica, é necessário adicionar parênteses para delimitar as operações. Por exemplo:

Expressão
Avaliação
4 + 2 * 10
  • ‘*’ tem prioridade sobre ‘+’: 2 * 10 é avaliado → 20
  • 4 + 20 → 24
(4 + 2) * 10
  • Os parênteses alteram a prioridade: (4 + 2) é avaliado → 6
  • 6 * 10 → 60

Diferenciação de maiúsculas e minúsculas case-sensitivity

Estas são as diferentes regras de diferenciação entre maiúsculas e minúsculas:

  • Todos os operadores (and, or etc.) deve ser escrito em minúsculas. Por exemplo, <expression1>e<expression2> é uma expressão válida, enquanto a expressão <expression1>E<expression2> não é.
  • Todos os nomes de função fazem distinção entre maiúsculas e minúsculas. Por exemplo, inAudience() é válido, enquanto a função INAUDIENCE() não é.
  • Referências de campo e valores constantes fazem distinção entre maiúsculas e minúsculas: eles não são elementos integrados da linguagem (em vez de operadores e funções), eles são criados pelo usuário final.

Tipo de expressão retornada returned-expression-type

Dependendo do contexto de uso, o editor de expressão pode retornar valores diferentes.

Uso do editor de expressão avançado
Tipo de expressão retornada esperado
Condição (condição da fonte de dados, condição de data)
booleano
Temporizador personalizado
dateTimeOnly
Mapeamento de parâmetros de ação
Qualquer
Referência de conhecimento de IA

Esta seção contém conhecimento estruturado destinado a oferecer suporte à interpretação, recuperação e resposta a perguntas relacionadas a este tópico.

Para uma compreensão completa, essas informações devem ser combinadas com a documentação desta página. Nenhuma das origens deve ser independente; a página descreve o recurso, enquanto esta seção fornece um contexto adicional que ajuda a desfazer a ambiguidade da terminologia, intenção, aplicabilidade e restrições.

  • TL;DR: Esta página aborda as principais regras de sintaxe do editor de expressão avançado do Jornada — precedência de operador com parênteses, distinção entre maiúsculas e minúsculas para operadores e funções e o tipo de retorno esperado para cada contexto de editor.

Intenções:

  • Controlar ordem de avaliação da expressão ao quebrar subexpressões entre parênteses
  • Gravar operadores (and, or, not) em minúsculas para evitar erros de sintaxe
  • Usar nomes de função em maiúsculas corretamente (ex: inAudience() não INAUDIENCE())
  • Entenda que as condições devem retornar um valor booleano, que os timers personalizados devem retornar dateTimeOnly e que os mapeamentos de parâmetros de ação podem retornar qualquer tipo

Glossário:

  • Prioridade de expressão: a ordem na qual os operadores são avaliados; multiplicações e divisões têm prioridade sobre adições e subtrações (específico do produto)
  • Diferenciação de maiúsculas e minúsculas: no editor avançado, os operadores devem ser minúsculas, os nomes de funções diferenciam maiúsculas de minúsculas e as referências de campo diferenciam maiúsculas de minúsculas, conforme criadas pelo usuário (específico do produto)
  • dateTimeOnly: o tipo de retorno necessário para expressões de timer personalizado (atividade de espera); representa um date-time sem um fuso horário (específico do produto)

Medidas de Proteção:

  • Operadores (and, or, not etc.) deve ser escrito em minúsculas — as variantes em maiúsculas são inválidas
  • Todos os nomes de funções diferenciam maiúsculas de minúsculas — inAudience() é válido, mas INAUDIENCE() não é
  • A aritmética segue a precedência padrão: * e / avaliam antes de + e -; use parênteses para substituir
  • As condições sempre retornam um valor booleano; os cronômetros personalizados sempre retornam dateTimeOnly

Terminologia:

  • Nome canônico: Advanced Expression Editor Sintaxe — Acrônimo: none — variantes: sintaxe de expressão, sintaxe do editor
  • Sinônimos: “prioridade da expressão” = “precedência do operador”; “parênteses” = “colchetes” (no contexto da expressão)
  • Não confunda: o operador diferencia maiúsculas de minúsculas (os operadores devem ser minúsculas) ≠ diferencia maiúsculas de minúsculas de referência de campo (os nomes de campo são de autoria do usuário e diferenciam maiúsculas de minúsculas conforme escritos)

Perguntas frequentes:

  • P: 4 + 2 * 10 é avaliado como 60 ou 24? — É avaliado como 24 porque * tem prioridade sobre +; use (4 + 2) * 10 para obter 60.
  • P: Posso escrever AND em maiúsculas em uma expressão? — Não; todos os operadores devem estar em minúsculas (and, or, not).
  • P: Os nomes das funções fazem distinção entre maiúsculas e minúsculas? — Sim; inAudience() é válido, mas INAUDIENCE() não é.
  • P: Que tipo deve ser retornado por uma expressão de condição? — Um booleano.
  • P: Que tipo de retorno é necessário para uma expressão de timer de atividade de espera personalizada?dateTimeOnly
recommendation-more-help
journey-optimizer-help