Plantillas

El operador > permite capturar bloques de texto multilinea usando indentación.

Cómo funciona#

El contenido debe tener más margen izquierdo que el > y debe ser asignado a una variable o propiedad.

> MENSAJE
  Las líneas
      respetan el margen
  con precisión

print MENSAJE
Limpieza automática

El compilador elimina automáticamente carácteres basura que están fuera del margen.

Interpolación#

Al igual que las comillas dobles, las plantillas permiten interpolar valores.

nombre = "Ana"
saldo = 100
impuesto = 15

> JSON
 {
    "nombre": "$nombre",
    "total": ${saldo - impuesto}
 }

print JSON
Sin secuencias de escape directas

Las plantillas, por diseño, no permiten secuencias de escape.

> TEXTO
 Este \n es literal

print TEXTO

Sin embargo, si en verdad necesitas una secuencia de escape, puedes interpolarla:

LF = "\n"

> TEXTO
 Primera línea${LF}Segunda línea

print TEXTO

Uso condicional#

Las plantillas se integran con el flujo de control:

nombre = "Ismael"
edad = 23

tipo <- "Escribe 0 para JSON o 1 para XML: "

if tipo == 0
    > TEMPLATE
     {
        "nombre": "$nombre"
        "edad": $edad
     }
elif tipo == 1
    > TEMPLATE
     <persona>
        <nombre>$nombre</nombre>
        <edad>$edad</edad>
     </persona>

print TEMPLATE