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.
€3.40 * 5 da €17.0045 min + 1 hour 20 min da 2 hours 5 min1.5 litres in ml da 1,500 mLLas 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 |
# Compra semanalleche = €1.45pan = €1.20 // de masa madrehuevos = €2.30 "camperos"leche + pan + huevos # sin extras da €4.95Una 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:
alquiler = €1,250gastos = €180Alquiler y gastos: alquiler + gastos da €1,430.00Cuenta del café: €12.50 + €4 da €16.50Los 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.
precio = €85 da €85.00precio + 20% da €102.00Para actualizar un nombre que ya has definido, usa +=, -=, *= o /=:
fondo de vacaciones = €400fondo de vacaciones += €150 da €550.00fondo de vacaciones -= €85 da €465.00raciones = 4raciones *= 3 da 12harina = 750 gharina /= 3 da 250 gSi 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:
invitados = 0por persona = €120 / invitados da Error: divide by zeropor persona + €5 da Error: divide by zeroNombres
Los nombres pueden tener varias palabras y pueden contener letras con tilde o de otros alfabetos, dígitos, guiones bajos y emojis:
café con leche = €3.40café con leche * 5 da €17.00tarta de limón = €6.50tarta de limón * 2 da €13.00🍎 precio = €0.45🍎 precio * 6 da €2.70ventas t1 = €12,400ventas t2 = €14,100ventas t1 + ventas t2 da €26,500.00ancho_dormitorio = 3.2 mancho_dormitorio * 2 da 6.4 mUn 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:
tiempo en el bar = 25 mintiempo en el bar * 10 da 250 minpintura a la cal = 12.44 Lpintura a la cal to 1 dp da 12.4 Lfloor = 12 m²floor * 2 da 24 m²floor(3.7) da 3Seguida 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:
mesa para cuatro = €96mesa para cuatro / 4 da €24.00Los 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:
tarifa = €14 / hourhours = 7.5tarifa * 7.5 hours da €105.00nights = 14€118/night * 14 nights da €1,652.00tip = €12.69€84.60 + 18% tip da €99.83Manté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 mes 6 y no dos metros. - Un número delante de un nombre en singular lo multiplica, así que después de
ancho = 3,2 anchoes 6. La sugerencia propone escribir2 * anchopara que quede claro. - Los números escritos con palabras y las constantes también se sustituyen: después de
one = 7,one times twoes 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,hoin, ni reutilices constantes y números escritos con palabras comopi,oneoi. - Prefiere nombres descriptivos como
horas trabajadas,tarifa diariaodistancia 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.
precio = €20cantidad = 3importe = precio * cantidad da €60.00precio = €25precio * cantidad da €75.00importe da €60.00Volver 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:
€1,250 * 12 da €15,000.00prev / 52 da €288.46ans + €20 da €308.46Para 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.
# Opción A: el apartamento en el centroalquiler = €1,250transporte = €60alquiler + transporte da €1,310.00---# Opción B: el apartamento a las afuerasalquiler = €980transporte = €210alquiler + transporte da €1,190.00Debajo 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:
carrito = €34.50entrega = if carrito >= €40 then €0 else €3.99 da €3.99carrito + entrega da €38.49Encadena else if para tener más de dos resultados posibles:
carrito = €34.50if carrito < €20 then €4.99 else if carrito < €40 then €2.99 else €0 da €2.99Solo se calcula la rama elegida, así que la otra rama puede contener algo que fallaría:
invitados = 0if invitados > 0 then €120 / invitados else €0 da €0.00If 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.
carrito = €34.50€3.99 if carrito < €40 da €3.99€3.99 unless carrito >= €40 da €3.99Asignar dentro de un condicional
Las dos ramas pueden asignar un valor al mismo nombre:
carrito = €34.50if carrito >= €40 then envío = €0 else envío = €3.99 da €3.99envío da €3.99Con solo una rama then, la asignación se hace cuando se cumple la condición y, si no, el nombre
conserva su valor anterior:
carrito = €34.50puntos = 0if carrito > €30 then puntos = 50 da 50puntos da 50Las 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:
# Factura de marzotarifa diaria = €420días trabajados = 6desplazamientos = €86.40 // billetes de trenhonorarios = tarifa diaria * días trabajados da €2,520.00subtotal = honorarios + desplazamientos da €2,606.40factura con IVA = trueIVA = if factura con IVA then subtotal * 21% else €0 da €547.34Total a pagar: subtotal + IVA da €3,153.74Todos 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.