Anidar inputs, operadores y funciones
Es muy normal que en nuestras fórmulas usemos funciones, operadores e input values dentro de otras funciones. Esto se conoce como anidado o nesting.
Cuando combinamos inputs, operadores y/o funciones de manera que devuelvan un solo valor, se conoce como expresión. Las expresiones pueden ser tan sencillas o complejas como queramos.
Los argumentos de una función no tienen por qué ser solo una referencia a una propiedad o un valor literal; cualquier expresión puede ser un argumento siempre que devuelva un valor único del tipo correcto.
Por ejemplo, add(100, 20) devuelve 120.
Pero podríamos convertirla en:
add(100, multiply(10, 2))
El segundo argumento es el resultado de multiply(10, 2). Ambas dan 120.
Un ejemplo más complicado con propiedades, para calcular el precio total con IVA:
add(prop("Precio"), multiply(prop("Precio"), prop("IVA")))
Condiciones anidadas
El anidado es especialmente común con funciones if():
if(2 == 1, "Igual", "No es igual") → "No es igual"
Uso común: marcar como check una propiedad si está completada:
if(prop("Status") == "completada", true, false)
También podemos usar and() y or() para comprobar dos expresiones:
if(and(prop("Pagado"), prop("Enviado")), "Completado", "En Progreso")
Para mayor granularidad, anidamos condiciones:
if(prop("Mood") == "feliz", "😀", if(prop("Mood") == "apático", "😕", "😩"))
Esto se traduce en:
- Si "Mood" es "feliz", muestra "😀"
- Si es "apático", muestra "😕"
- Si no se cumple ninguna, muestra "😩"