Saltar al contenido
Guía de Varlig
Inicio de Varlig

Escribir una línea de cálculo

En esta página se explican los fundamentos en los que se basa cualquier bloque de cálculo: cómo se lee una línea, cómo dejar notas junto a tus cuentas, cómo poner nombre a los valores y reutilizarlos, y cómo hacer que una línea dependa de una condición. Empieza por aquí si los cálculos de Varlig son nuevos para ti, y vuelve cuando un nombre o un comentario no se comporte como esperas.

Una expresión por línea

Los cálculos viven en un bloque de cálculo dentro de una nota. Escribe una línea ```calc o pulsa ⌘Y para insertar uno. Cada línea del bloque es un cálculo, y su resultado aparece junto a la línea.

calc
3.40 * 5 da €17.00
45 min + 1 hour 20 min da 2 hours 5 min
1.5 litres in ml da 1,500 mL

Las líneas en blanco y las de comentario no tienen resultado, así que puedes espaciar un bloque y explicarlo sobre la marcha.

Varlig intenta leer primero toda la línea como una operación, incluidas frases cotidianas como €45 with 21% VAT. Si así no funciona, deja de lado las palabras que no reconoce, de modo que 5 manzanas + 3 naranjas sigue dando 8. Es práctico para apuntes rápidos, pero una descripción puede coincidir con una frase o con el nombre de una unidad, así que, cuando quieras indicar para qué sirve una línea, usa un comentario o un rótulo, como se explica a continuación. En Cómo lee Varlig una frase tienes los detalles.

Comentarios

Un comentario es texto que la calculadora ignora. Hay tres formas de escribirlo:

Forma Ejemplo Qué se ignora
Comentario con almohadilla alquiler * 12 # al año o # Presupuesto Todo desde # hasta el final de la línea
Comentario con barras alquiler * 12 // al año Todo desde // hasta el final de la línea
Nota entre comillas "cafés con leche" €3.40 * 5 Todo lo que va entre comillas dobles, en cualquier parte de la línea
calc
# Compra semanal
leche = 1.45
pan = 1.20 // de masa madre
huevos = 2.30 "camperos"
leche + pan + huevos # sin extras da €4.95

Una línea que empieza por # es un comentario de principio a fin, lo que la convierte en un encabezado práctico dentro de un bloque.

Rótulos

Un rótulo son unas pocas palabras seguidas de dos puntos y un espacio al principio de una línea. Describe el resultado sin formar parte de la operación:

calc
alquiler = 1,250
gastos = 180
Alquiler y gastos: alquiler + gastos da €1,430.00
Cuenta del café: 12.50 + 4 da €16.50

Los rótulos pueden llevar letras (también con tilde o acento), espacios y guiones bajos, pero no dígitos.

Un rótulo no crea un nombre. Después de Alquiler y gastos: alquiler + gastos, no hay ningún valor llamado Alquiler y gastos. Usa = cuando quieras reutilizar un resultado. Evita también poner un rótulo delante de una asignación: Vivienda: alquiler = €1,250 muestra el importe, pero alquiler no se guarda.

Asignación

= le da un nombre a un valor. La línea también muestra el valor, para que puedas comprobarlo sobre la marcha.

calc
precio = 85 da €85.00
precio + 20% da €102.00

Para actualizar un nombre que ya has definido, usa +=, -=, *= o /=:

calc
fondo de vacaciones = 400
fondo de vacaciones += 150 da €550.00
fondo de vacaciones -= 85 da €465.00
raciones = 4
raciones *= 3 da 12
harina = 750 g
harina /= 3 da 250 g

Si el lado derecho falla, el nombre guarda el error, y todas las líneas que lo usan muestran el mismo error hasta que vuelvas a asignar el nombre:

calc
invitados = 0
por persona = 120 / invitados da Error: divide by zero
por persona + 5 da Error: divide by zero

Nombres

Los nombres pueden tener varias palabras y pueden contener letras con tilde o de otros alfabetos, dígitos, guiones bajos y emojis:

calc
café con leche = 3.40
café con leche * 5 da €17.00
tarta de limón = 6.50
tarta de limón * 2 da €13.00
🍎 precio = 0.45
🍎 precio * 6 da €2.70
ventas t1 = 12,400
ventas t2 = 14,100
ventas t1 + ventas t2 da €26,500.00
ancho_dormitorio = 3.2 m
ancho_dormitorio * 2 da 6.4 m

Un nombre puede incluir palabras que Varlig usa en otros contextos, como to, in o unidades como bar y cal, y puede tomar prestado el nombre de una función integrada, como floor. Siempre que lo uses como valor, Varlig lee tu valor:

calc
tiempo en el bar = 25 min
tiempo en el bar * 10 da 250 min
pintura a la cal = 12.44 L
pintura a la cal to 1 dp da 12.4 L
floor = 12
floor * 2 da 24 m²
floor(3.7) da 3

Seguida de paréntesis, como en floor(3.7), la función sigue haciendo su trabajo habitual.

Un nombre puede incluso terminar en un número escrito con letras, así que un precio se lee tal como aparece en la carta:

calc
mesa para cuatro = 96
mesa para cuatro / 4 da €24.00

Los nombres distinguen entre mayúsculas y minúsculas: huevos y Huevos son dos valores distintos.

Si quieres que un nombre esté disponible en todas las notas, como tu tarifa por hora o un tipo de impuesto, añádelo a las definiciones globales de los ajustes en lugar de repetirlo en cada nota.

Nombres que coinciden con palabras integradas

Un nombre que defines tiene prioridad sobre cualquier otra cosa que se escriba igual, como una unidad, un número escrito con palabras o una constante. Aun así, los nombres cotidianos no alteran tus cantidades. Un número escrito justo delante de un nombre en plural o de una unidad cuenta esa cosa, y un porcentaje delante de tip o tax designa la propina o el impuesto, así que los valores llamados hours, nights o tip no cambian estas líneas:

calc
tarifa = 14 / hour
hours = 7.5
tarifa * 7.5 hours da €105.00
nights = 14
118/night * 14 nights da €1,652.00
tip = 12.69
84.60 + 18% tip da €99.83

Mantén el puntero sobre la palabra para ver cómo la ha leído Varlig. En tarifa * 7.5 hours indica "Counts hours here, not the variable hours = 7.5." En cualquier otra posición de la línea, el nombre es tu valor, como en split €90 among personas.

En algunos casos, tu definición sí cambia el significado de una línea:

  • Una sola letra siempre es tu valor, así que después de m = 3, 2 m es 6 y no dos metros.
  • Un número delante de un nombre en singular lo multiplica, así que después de ancho = 3, 2 ancho es 6. La sugerencia propone escribir 2 * ancho para que quede claro.
  • Los números escritos con palabras y las constantes también se sustituyen: después de one = 7, one times two es 14.

Dos hábitos evitan la mayoría de las sorpresas:

  • No uses como nombres, por sí solos, símbolos de unidades como m, s, h o in, ni reutilices constantes y números escritos con palabras como pi, one o i.
  • Prefiere nombres descriptivos como horas trabajadas, tarifa diaria o distancia recorrida.

Orden del documento

Cada línea ve los nombres definidos encima de ella. Los nombres también pasan a los bloques de cálculo posteriores de la misma nota, así que puedes definir tus datos una vez y usarlos más abajo.

calc
precio = 20
cantidad = 3
importe = precio * cantidad da €60.00
precio = 25
precio * cantidad da €75.00
importe da €60.00

Volver a definir precio no cambia la línea anterior de importe: importe se calculó con el precio que había en ese momento. Para cambiar el resultado de un cálculo anterior, edita la línea donde se define su dato.

El resultado de arriba

prev es el resultado de la línea más cercana de arriba, y ans significa lo mismo, salvo que hayas llamado ans a un valor. Son prácticos para una operación rápida a continuación:

calc
1,250 * 12 da €15,000.00
prev / 52 da €288.46
ans + 20 da €308.46

Para sumar un grupo de líneas, escribe sum o total en una línea propia. Consulta Sumar las líneas de arriba.

Reiniciar el ámbito

Una línea que solo contiene --- inicia un ámbito nuevo. Los nombres, las unidades personalizadas y las funciones propias definidos encima dejan de verse debajo. Es útil para comparar dos escenarios en una misma nota sin que sus valores se mezclen.

calc
# Opción A: el apartamento en el centro
alquiler = 1,250
transporte = 60
alquiler + transporte da €1,310.00
---
# Opción B: el apartamento a las afueras
alquiler = 980
transporte = 210
alquiler + transporte da €1,190.00

Debajo de ---, hay que volver a definir transporte. Si se te olvida, la línea que lo usa no tiene nada a lo que referirse.

Condicionales

if … then … else … elige uno de dos valores según una comparación. Puedes usarlo solo o asignar el resultado a un nombre:

calc
carrito = 34.50
entrega = if carrito >= 40 then 0 else 3.99 da €3.99
carrito + entrega da €38.49

Encadena else if para tener más de dos resultados posibles:

calc
carrito = 34.50
if carrito < 20 then 4.99 else if carrito < 40 then 2.99 else 0 da €2.99

Solo se calcula la rama elegida, así que la otra rama puede contener algo que fallaría:

calc
invitados = 0
if invitados > 0 then 120 / invitados else 0 da €0.00

If y unless después del valor

También puedes poner la condición después del valor. valor if condición muestra el valor cuando se cumple la condición, y valor unless condición lo muestra cuando no se cumple. En los dos casos, si no, la línea no muestra nada.

calc
carrito = 34.50
3.99 if carrito < 40 da €3.99
3.99 unless carrito >= 40 da €3.99

Asignar dentro de un condicional

Las dos ramas pueden asignar un valor al mismo nombre:

calc
carrito = 34.50
if carrito >= 40 then envío = 0 else envío = 3.99 da €3.99
envío da €3.99

Con solo una rama then, la asignación se hace cuando se cumple la condición y, si no, el nombre conserva su valor anterior:

calc
carrito = 34.50
puntos = 0
if carrito > 30 then puntos = 50 da 50
puntos da 50

Las comparaciones como >= y los operadores && y || se explican en Operadores, comparaciones y condicionales.

Todo junto

Esta es una pequeña factura de trabajo freelance, escrita como la tendrías en una nota:

calc
# Factura de marzo
tarifa diaria = 420
días trabajados = 6
desplazamientos = 86.40 // billetes de tren
honorarios = tarifa diaria * días trabajados da €2,520.00
subtotal = honorarios + desplazamientos da €2,606.40
factura con IVA = true
IVA = if factura con IVA then subtotal * 21% else 0 da €547.34
Total a pagar: subtotal + IVA da €3,153.74

Todos los datos tienen nombre, así que el mes que viene solo cambias días trabajados y desplazamientos, y el resto de la factura se actualiza. Los comentarios y el rótulo hacen que el bloque se lea bien, y el condicional permite que la misma nota sirva tanto si cobras IVA como si no.