Preguntar a la IA
Español ES
Ir a CleverApp

Expresiones

Dentro de {{ ... }} puedes hacer algo más que insertar un valor: calcular, comparar o elegir un texto según una condición:

{{ $edad >= 18 ? "¡Bienvenido!" : "Acceso a partir de los 18 años" }}
10 % de descuento: {{ $precio * 0.9 }} €
{{ upper(first_name) ~ ", ¡hola!" }}

De qué se compone una expresión

Qué Cómo se escribe Ejemplo
Variable del contacto $nombre $ciudad
Variable con espacios en el nombre var("nombre") var("Nombre del cliente")
Datos del contacto nombre sin $ first_name, phone
Variable global global("nombre") global("Tasa (USD)")
Texto entre comillas "..." o '...' "Buenas tardes"
Número dígitos, la parte decimal después de un punto 10, 0.9
Booleano true, false
Valor vacío null
Función nombre(argumentos) round($precio, 2)

Dentro de las comillas no se sustituye nada: {{ "precio $a" }} muestra precio $a.

Aritmética

Operador Operación Ejemplo Resultado
+ suma {{ 2 + 3 }} 5
- resta {{ 10 - 4 }} 6
* multiplicación {{ 3 * 4 }} 12
/ división {{ 10 / 4 }} 2.5
% resto {{ 10 % 3 }} 1
** potencia {{ 2 ** 10 }} 1024

Los paréntesis cambian el orden de las operaciones: {{ ($precio + $envio) * 2 }}.

Los decimales se muestran sin dígitos de más: {{ 0.1 + 0.2 }} da 0.3. Para redondear, usa round; para dar formato con separadores, usa number_format.

Comparaciones

Operador Significado
== igual
!= distinto
>, >= mayor que, mayor o igual que
<, <= menor que, menor o igual que

Si los dos lados son números, aunque estén escritos como texto (como los valores de las variables), se comparan como números: "10" > 9 es verdadero.

Una comparación sola muestra true o false: {{ $edad >= 18 }}.

Lógica

Operador Significado
and o && y
or o || o
not o ! no
{{ $edad >= 18 and $ciudad == "Madrid" ? "Visita nuestra oficina" : "Trabajamos online" }}

Condición

condición ? si_sí : si_no elige una de dos opciones:

{{ $puntos >= 100 ? "Has ganado un regalo" : "Te faltan " ~ (100 - $puntos) ~ " puntos para el regalo" }}

La forma corta valor ?: alternativa muestra el valor si no está vacío y, si lo está, la alternativa:

¡Hola, {{ first_name ?: "amigo" }}!

Alternativa para datos que faltan

valor ?? alternativa: si no hay ningún valor (el contacto no tiene teléfono, la variable no está definida), se inserta la alternativa:

Teléfono: {{ phone ?? "no indicado" }}

Trabajar con texto

Operador Operación Ejemplo
~ unir texto {{ first_name ~ " " ~ last_name }}
contains contiene {{ $respuesta contains "sí" ? "¡Genial!" : "Qué pena" }}
starts with empieza por {{ phone starts with "+34" ? "España" : "Otro país" }}
ends with termina en {{ email ends with "@gmail.com" }}
in está en una lista {{ $ciudad in ["Madrid", "Barcelona"] ? "Hay envío a domicilio" : "Solo recogida" }}
not in no está en una lista {{ $plan not in ["pro", "business"] }}

contains, starts with y ends with distinguen entre mayúsculas y minúsculas. Para ignorarlas, convierte el texto a un mismo tipo de letra: {{ lower($respuesta) contains "sí" }}.

Funciones dentro de las expresiones

Las funciones se pueden anidar y combinar con operadores:

{{ capitalize(lower(var("Nombre del cliente"))) }}
{{ round(($precio + $envio) * 0.9, 2) }}
{{ number_format(global("Tasa (USD)") * $total, 2) }} $

Consulta la lista completa en la referencia de funciones.

Qué no se puede hacer

Las expresiones no tienen bucles, ni asignaciones, ni acceso a los datos internos de la plataforma: solo los operadores y las funciones de la referencia. Más detalles en Errores y límites.