Sintaxis avanzada del editor de expresiones syntax
A continuación se enumeran los conceptos básicos de sintaxis al usar el Editor de expresiones avanzadas.
Paréntesis y prioridad de expresión parentheses-and-expression-priority
Los paréntesis se pueden utilizar para hacer que una expresión compleja sea más legible. (<expression>) es el equivalente de <expression>. Los paréntesis también pueden utilizarse para definir el orden de evaluación y la asociatividad.
Las expresiones se evalúan de izquierda a derecha. Se debe aplicar la asociatividad en operadores aritméticos: las multiplicaciones y divisiones tienen prioridad sobre las sumas y las restas. Para imponer un orden específico, se deben añadir paréntesis para delimitar las operaciones. Por ejemplo:
4 + 2 * 10- ‘*’ tiene prioridad sobre ‘+’: 2 * 10 se evalúa → 20
- 4 + 20 → 24
(4 + 2) * 10- Los paréntesis cambian la prioridad: (4 + 2) se evalúa → 6
- 10 → 60
Distinción de mayúsculas y minúsculas case-sensitivity
Estas son las diferentes reglas de distinción de mayúsculas y minúsculas:
- Todos los operadores (y, o, etc.) debe escribirse en minúsculas. Por ejemplo,
<expression1>y<expression2>son una expresión válida, mientras que la expresión<expression1>Y<expression2>no lo son. - Todos los nombres de función distinguen entre mayúsculas y minúsculas. Por ejemplo, inAudience() es válida, mientras que la función INAUDIENCE() no lo es.
- Las referencias de campo y los valores constantes distinguen entre mayúsculas y minúsculas: no son elementos integrados del lenguaje (a diferencia de operadores y funciones), son creados por el usuario final.
Tipo de expresión devuelto returned-expression-type
Según el contexto de uso, el editor de expresiones puede devolver valores diferentes.
Esta sección contiene conocimientos estructurados destinados a apoyar la interpretación, la recuperación y la respuesta a preguntas relacionadas con este tema.
Para una comprensión completa, esta información debe combinarse con la documentación de esta página. Ninguna de las fuentes pretende ser independiente; la página describe la función, mientras que esta sección proporciona contexto adicional que ayuda a desambiguar la terminología, la intención, la aplicabilidad y las restricciones.
- TL;DR: Esta página describe las reglas de sintaxis principales del editor de expresiones avanzadas de Recorrido: la prioridad de los operadores entre paréntesis, la distinción entre mayúsculas y minúsculas para los operadores y las funciones y el tipo de valor devuelto esperado para cada contexto de editor.
Intenciones:
- Controle el orden de evaluación de expresiones ajustando las subexpresiones entre paréntesis
- Operadores de escritura (
and,or,not) en minúsculas para evitar errores de sintaxis - Use nombres de funciones con mayúsculas y minúsculas correctamente (p. ej.
inAudience()noINAUDIENCE()) - Comprenda que las condiciones deben devolver un booleano, los temporizadores personalizados deben devolver
dateTimeOnlyy las asignaciones de parámetros de acción pueden devolver cualquier tipo
Glosario:
- Prioridad de expresión: El orden en que se evalúan los operadores; las multiplicaciones y divisiones tienen prioridad sobre las adiciones y las sustracciones (específicas del producto)
- Distinción entre mayúsculas y minúsculas: en el editor avanzado, los operadores deben estar en minúsculas, los nombres de función distinguen entre mayúsculas y minúsculas y las referencias de campo distinguen entre mayúsculas y minúsculas según el usuario (específico del producto)
- dateTimeOnly: El tipo de valor devuelto requerido para las expresiones de temporizador personalizadas (actividad de espera); representa una fecha y hora sin una zona horaria (específica del producto)
Protecciones:
- Operadores (
and,or,not, etc.) debe escribirse en minúsculas; las variantes en mayúsculas no son válidas - Todos los nombres de función distinguen entre mayúsculas y minúsculas:
inAudience()es válido peroINAUDIENCE()no lo es - La aritmética sigue la prioridad estándar:
*y/se evalúan antes que+y-; use paréntesis para anular la prioridad - Las condiciones siempre devuelven un valor booleano; los temporizadores personalizados siempre devuelven
dateTimeOnly
Terminología:
- Nombre canónico: Sintaxis del editor de expresiones avanzadas — Acrónimo: none — variants: sintaxis de expresión, sintaxis de editor
- Sinónimos: “prioridad de expresión” = “prioridad de operador”; “paréntesis” = “corchetes” (en contexto de expresión)
- No confundir: distingue entre mayúsculas y minúsculas en el operador (los operadores deben estar en minúsculas) ≠ la distinción entre mayúsculas y minúsculas en las referencias de campo (los nombres de campo son creados por el usuario y distinguen entre mayúsculas y minúsculas cuando se escriben).
PREGUNTAS MÁS FRECUENTES:
- Q: ¿Se evalúa
4 + 2 * 10en 60 o 24? — Se evalúa como 24 porque*tiene prioridad sobre+; use(4 + 2) * 10para obtener 60. - Q: ¿Puedo escribir
ANDen mayúsculas en una expresión? — No; todos los operadores deben estar en minúsculas (and,or,not). - Q: ¿Los nombres de función distinguen entre mayúsculas y minúsculas? — Sí;
inAudience()es válido peroINAUDIENCE()no. - Q: ¿Qué tipo debe devolver una expresión de condición? — Un booleano.
- Q: ¿Qué tipo de valor devuelto se requiere para una expresión de temporizador de actividad de espera personalizada? —
dateTimeOnly.