Escrever uma linha de cálculo
Esta página apresenta os fundamentos de todos os blocos de cálculo: como uma linha é interpretada, como deixar comentários ao lado das contas, como nomear e reutilizar valores e como condicionar uma linha. Comece por aqui se você ainda não conhece os cálculos do Varlig e volte quando um nome ou comentário não se comportar como esperado.
Uma expressão por linha
Os cálculos ficam em um bloco de cálculo dentro de uma nota. Digite o delimitador ```calc ou pressione ⌘Y para inserir um bloco. Cada linha do bloco é um cálculo, e a resposta aparece ao lado dela.
£3.40 * 5 resulta em £17.0045 min + 1 hour 20 min resulta em 2 hours 5 min1.5 litres in ml resulta em 1,500 mLLinhas em branco e linhas de comentários não têm resposta, então você pode espaçar um bloco e explicá-lo à medida que for.
O Varlig primeiro tenta interpretar a linha inteira como matemática, incluindo expressões cotidianas como £45 with 20% VAT. Se isso não funcionar, deixa de lado as palavras que não reconhece, de modo que 5 apples + 3 oranges ainda resulta em 8. Isso é útil para anotações rápidas, mas uma descrição pode coincidir com uma expressão ou com o nome de uma unidade. Portanto, para explicar a finalidade de uma linha, use um comentário ou um rótulo, descritos a seguir. Veja os detalhes em Como o Varlig interpreta uma expressão.
Uma palavra no lugar em que deveria haver um valor gera um erro que identifica essa palavra, em vez de uma resposta incorreta. A mensagem sugere o nome mais parecido entre os que você definiu:
rent = £1,150rnt + £200 resulta em Unsupported: unrecognized calculation at "rnt"; did you mean "rent"?O mesmo vale para um nome com dígitos ou sublinhados, como rent2 ou rent_2. Ele nunca é ignorado como descrição nem interpretado apenas pelo número; parênteses, chamadas de função e conversões também não ocultam o erro. Dígitos são permitidos em rótulos, então use um rótulo para descrever a linha:
rent = £1,150rent2 + £200 resulta em Unsupported: unrecognized calculation at "rent2"; did you mean "rent"?(rnt + £200) * 2 resulta em Unsupported: unrecognized calculation at "rnt"; did you mean "rent"?Flat 2: rent + £200 resulta em £1,350.00Linhas que começam com um marcador
Um marcador no início da linha indica um item de lista de compras. Assim, a descrição antes do valor é ignorada e a linha continua sendo calculada. Use -, *, •, +, – ou —, seguido de um espaço:
- flowers 1,200 resulta em 1,200* coffee $4.50 resulta em $4.50- 12 mugs resulta em 12- 6 bananas @ 18p resulta em £1.08- 500g pasta 3 packs at £1.10 each resulta em £3.30Um traço antes de um valor sem descrição continua sendo um sinal de menos: - 1,200 equivale a -1,200, e - 12 kg equivale a -12 kg. Para incluir uma medida em uma lista, comece a linha com * ou •, que sempre funcionam como marcadores.
Palavras ao lado de uma quantidade
Uma descrição torna a linha legível sem alterar o número. Palavras ligadas por +, & ou per fazem parte da descrição, não de uma soma; um sinal de menos junto ao valor pertence a esse valor; e um número de referência após uma palavra não interfere no cálculo:
basin + pedestal £145 resulta em £145.00food cost per head £14.20 resulta em £14.20milk, bread, eggs £12.40 resulta em £12.40Netflix -£10.99 resulta em -£10.99DIRECT DEBIT REF 4471 £62.40 resulta em £62.40Invoice #123: £250 resulta em £250.00double cream 600 mL resulta em 600 mLchlorine 3 ppm resulta em 3 ppmt-shirt £12 resulta em £12.00on the day 60 at £28 resulta em £1,680.00Isso cobre a maioria dos formatos de extratos, confirmações de pedido e listas de peças quando você os cola: linhas em maiúsculas, itens separados por vírgulas, nomes com hífens e descrições que começam com palavras reconhecidas pelo Varlig, como double, per ou on the day.
Um rótulo que numera uma linha, como Year 2, Room 12 ou ISA 2026, ou um período acompanhado do ano, como Q4 2026, July 2026 ou week 40 2027, também faz parte da descrição, onde quer que esteja na linha, quando vem seguido de um valor: uma quantia com moeda, unidade ou sinal de porcentagem, ou um número simples isolado antes do próximo operador. O número do rótulo nunca entra na soma:
Year 1 £5,000 + Year 2 £6,000 resulta em £11,000.00Year 1 5,000 + Year 2 6,000 resulta em 11,000ISA 2025 £20,000 + ISA 2026 £20,000 resulta em £40,000.00Room 12 £40 + Room 14 £50 resulta em £90.00Q3 2026 £5,000 + Q4 2026 £6,000 resulta em £11,000.00July 2026 £500 + August 2026 £600 resulta em £1,100.00Um único número após uma palavra é o valor, como em rent 1200 + 300, e uma contagem continua sendo uma contagem, como em tickets 2 £40 each. Uma unidade como hour, week ou day mede o número anterior; por isso, antes de um número, serve como nome da linha, como qualquer outra palavra: hour 2 é a segunda hora, nunca uma hora e dois minutos. Quando vem em seguida uma moeda, uma unidade ou um sinal de porcentagem, o espaço após o número do rótulo marca o início do valor: Week 2 150 hours significa 150 horas, não 2.150:
hour 1 £40 + hour 2 £50 resulta em £90.00hours 8 + hours 7 resulta em 15Week 2 150 hours + Week 3 160 hours resulta em 310 hoursComentários
Um comentário é um texto que a calculadora ignora. Existem quatro maneiras de escrever um:
| Forma | Exemplo | O que é ignorado |
|---|---|---|
| Comentário de hash | rent * 12 # per year ou # Budget |
Tudo, desde um # e um espaço até o final da linha |
| Comentário de barra | rent * 12 // per year |
Tudo de // até o final da linha |
| Comentário entre aspas | "flat whites" £3.40 * 5 |
Qualquer coisa dentro de aspas duplas, em qualquer lugar em uma linha |
| Comentário entre parênteses | $999 (for iPhone 16) |
Palavras entre parênteses, em qualquer lugar em uma linha |
# Weekly shopmilk = £1.45bread = £1.20 // sourdougheggs = £2.30 "free range"milk + bread + eggs # without the extras resulta em £4.95Uma cerquilha ou uma barra transforma o restante da linha em comentário; aspas e parênteses podem aparecer no meio dela. Assim, você pode explicar a finalidade de um valor e continuar a conta:
$999 (for iPhone 16) resulta em $999.00laptop £899 (refurbished) + £49 case resulta em £948.00Boing "747" is $386.8M resulta em $386.8MAs aspas são a opção mais segura em torno de algo que parece um número; é assim que o 747 acima fica fora do cálculo. Parênteses que contêm apenas um número são interpretados como matemática, não como comentário, pois um número junto de um parêntese indica multiplicação:
$999 (3) resulta em $2,997.00Portanto, escreva a contagem fora dos parênteses ou descreva o que está contando, como em $999 (3 handsets). Qualquer conteúdo além de um número isolado continua sendo um comentário, incluindo palavras com hífen e porcentagens:
£134 (25% discount already applied) resulta em £134.00£10 (mother-in-law) resulta em £10.00Uma linha que começa com um hash e um espaço é um comentário do início ao fim, o que a torna um título útil dentro de um bloco.
O espaço é o que faz de um hash um comentário. Um # unido a uma palavra, como em #food, é um tag: ele rotula a linha, fica fora do cálculo e permite que você totalize cada linha que a carrega, onde quer que estejam no bloco.
£12.50 lunch #food resulta em £12.50£8 coffee #food resulta em £8.00total of #food resulta em £20.50Um hash seguido de dígitos não é nenhum dos dois: ele numera o que é a linha e não participa da matemática, então faturas, pedidos e números de peça são lidos como estão escritos.
Invoice #123: £250 resulta em £250.00part #4 weighs 20 g resulta em 20 gRótulos
Um rótulo são algumas palavras seguidas por dois pontos e um espaço no início de uma linha. Descreve a resposta sem fazer parte da matemática:
rent = £1,250bills = £180Rent and bills: rent + bills resulta em £1,430.00Café bill: £12.50 + £4 resulta em £16.50Os rótulos podem usar letras (incluindo as acentuadas), dígitos, espaços e sublinhados, como em Flat 2: ou Q3 rent:.
Um rótulo não cria um nome. Depois de Rent and bills: rent + bills, não existe um valor chamado Rent and bills. Use = quando quiser reutilizar um resultado. Evite também colocar um rótulo antes de uma atribuição: Housing: rent = £1,250 mostra o valor, mas não armazena rent.
Atribuição
= dá um nome a um valor. A linha também mostra o valor, para que você possa verificá-lo à medida que for.
price = £85 resulta em £85.00price + 20% resulta em £102.00Para atualizar um nome que você já definiu, use +=, -=, *= ou /=:
holiday fund = £400holiday fund += £150 resulta em £550.00holiday fund -= £85 resulta em £465.00servings = 4servings *= 3 resulta em 12flour = 750 gflour /= 3 resulta em 250 gSe o lado direito falhar, o nome mantém o erro, e cada linha que o usa mostra o mesmo erro até que você atribua o nome novamente:
guests = 0per head = £120 / guests resulta em Error: divide by zeroper head + £5 resulta em Error: divide by zeroUm valor nomeado pode ter uma descrição, exatamente como em uma linha isolada. O lado direito, porém, não pode conter palavras soltas ao redor de um nome isolado, pois seria impossível saber o que você quis armazenar: com rent = £1,150 definido, x = spent excl rent informa o erro spent excl rent em vez de armazenar silenciosamente o aluguel.
paid rent = £1,150daily spend = paid rent / 16 resulta em £71.88Nomes
Os nomes podem ter várias palavras de comprimento e podem conter letras acentuadas e não latinas, dígitos, sublinhados e emojis:
flat white = £3.40flat white * 5 resulta em £17.00crème brûlée = £6.50crème brûlée * 2 resulta em £13.00🍎 price = £0.45🍎 price * 6 resulta em £2.70q1 sales = £12,400q2 sales = £14,100q1 sales + q2 sales resulta em £26,500.00bedroom_width = 3.2 mbedroom_width * 2 resulta em 6.4 mUm nome pode incluir palavras que Varlig usa em outro lugar, como to, in ou needed, e pode emprestar o nome de uma função interna, como floor. Onde quer que você o use como um valor, Varlig lê seu valor:
time to work = 25 mintime to work * 10 resulta em 4 hours 10 minpaint needed = 12.44 Lpaint needed to 1 dp resulta em 12.4 Lfloor = 12 m²floor * 2 resulta em 24 m²floor(3.7) resulta em 3Quando o nome é seguido de parênteses, como em floor(3.7), a função continua funcionando normalmente.
Um nome pode até terminar em um número por extenso, para que o preço seja interpretado como está escrito no cardápio:
table for four = £96table for four / 4 resulta em £24.00Quando dois de seus nomes começam da mesma maneira, o mais longo ganha, então um nome numerado é lido inteiro:
batch = £8.01batch 2 = £8.21batch 2 - batch resulta em £0.20Os nomes diferenciam maiúsculas de minúsculas: eggs e Eggs são dois valores diferentes.
Se você quiser um nome disponível em cada nota, como sua taxa horária ou uma taxa de imposto, adicione-o às definições globais em Configurações em vez de repeti-lo em cada nota.
Nomes que entram em conflito com palavras incorporadas
Um nome definido por você tem prioridade sobre qualquer outro elemento com a mesma grafia, como uma unidade, um número por extenso ou uma constante. Ainda assim, nomes comuns não alteram suas quantidades. Um número imediatamente antes de um nome no plural ou de uma unidade conta esse elemento; uma porcentagem antes de tip ou tax indica a gorjeta ou o imposto. Assim, valores chamados hours, nights ou tip não alteram estas linhas:
rate = £14 / hourhours = 7.5rate * 7.5 hours resulta em £105.00nights = 14£118/night * 14 nights resulta em £1,652.00tip = $12.69$84.60 + 18% tip resulta em $99.83Mantenha o ponteiro sobre a palavra para ver qual interpretação o Varlig usou. Em rate * 7.5 hours, a mensagem é "Counts hours here, not the variable hours = 7.5." Em qualquer outro ponto da linha, o nome representa seu valor, como em split £90 among people.
Uma conversão funciona da mesma forma: depois de in, to ou as, uma unidade tem prioridade sobre um nome que armazena um número simples. Assim, uma contagem nomeada não impede a conversão para a unidade correspondente. Com miles = 12, 20 km in miles ainda resulta em 12,4274238447 mi. Um nome antes da unidade a multiplica em vez de indicar uma unidade de destino; por isso, 15.2 m in scale miles, com scale = 76.2, informa Unsupported: conversion to scale miles em vez de escolher uma das duas interpretações.
Uma unidade escrita como taxa, sem espaços ao redor da barra, é interpretada como essa unidade independentemente de como suas letras tenham sido usadas em outros pontos. Assim, uma densidade ou velocidade copiada de uma ficha técnica mantém seu significado:
g = 9.81 m/s²2 g resulta em 19.62 m/s²2.7 g/cm³ resulta em 2.7 g/cm³50 kg * g resulta em 490.5 NEm alguns casos, sua definição muda o que uma linha significa:
- Uma única letra sempre significa seu valor, então depois de
m = 3,2 mé 6 em vez de dois metros. - Um número antes de um nome singular o multiplica, então depois de
width = 3,2 widthé 6. O mesmo vale para um nome de uma letra antes de uma unidade ou de um operador. A dica diz isso e sugere escrever2 * widthpara deixar claro. - Palavras numéricas e constantes também são substituídas: depois de
one = 7,one times twoé 14.
Dois hábitos evitam a maioria das surpresas:
- Não use símbolos de unidade por conta própria como nomes, como
m,s,houin, ou reutilize constantes e palavras numéricas comopi,oneoui. - Prefira nomes descritivos como
hours worked,day rateourun distance.
Ordem do documento
Cada linha vê os nomes definidos acima dela. Os nomes também são transportados para blocos de cálculo posteriores na mesma nota, para que você possa configurar suas entradas uma vez e usá-las mais adiante na página.
price = £20quantity = 3cost = price * quantity resulta em £60.00price = £25price * quantity resulta em £75.00cost resulta em £60.00Redefinir price não altera a linha anterior de cost: cost foi calculado com o preço daquele ponto da nota. Para alterar o resultado de um cálculo anterior, edite a linha que define o valor usado por ele.
A resposta acima
prev é a resposta na linha mais próxima acima, e ans significa o mesmo, a menos que você tenha nomeado um valor ans. Eles se adequam a uma soma rápida de acompanhamento:
£1,250 * 12 resulta em £15,000.00prev / 52 resulta em £288.46ans + £20 resulta em £308.46Para somar um grupo de linhas, escreva sum ou total em uma linha própria. Veja Adicionando as linhas acima.
Referindo-se a uma linha por número
line1 line2 e assim por diante referem-se a um cálculo por sua posição na nota, contando cada bloco de cálculo em ordem:
price = £100 resulta em £100.00line1 * 2 resulta em £200.00Uma referência continua ligada à linha para a qual aponta. Se você inserir uma linha acima dela ou mover linhas com Format › Move Line Up e Move Line Down, a resposta continuará usando a mesma linha. O Varlig renumera o texto automaticamente, em uma etapa própria que pode ser desfeita, para manter o texto de acordo com o resultado.
Exclua a linha para a qual uma referência aponta e a linha diz Error: line2 refers to a deleted line em vez de usar silenciosamente um número diferente. Desfazer traz ambos de volta.
Copiar e colar mantém as referências
Copie ou corte linhas de cálculo e cole-as, e suas referências line2 e ↑ continuem lendo as linhas que leram antes:
- Uma referência a uma linha que você copiou segue a cópia, renumerada para onde ela chega.
- Uma referência a uma linha que você não copiou continua usando essa linha quando você cola na mesma nota.
- Ao ser colada em outra nota, a referência passa a usar o nome definido pela linha, como
rentpararent = $1,200. Ela funciona assim que a nota define esse nome ou o importa. Uma linha sem nome vira uma referência comoline2_of_Budget, que indica essa situação até você substituí-la:
5 + line2_of_Budget resulta em Unsupported: line2_of_Budget is a line of another noteA área de transferência contém apenas o texto selecionado, de modo que outros aplicativos recebem exatamente esse conteúdo, e a colagem é uma única etapa que pode ser desfeita. Linhas copiadas de uma nota protegida por senha são coladas exatamente como estão escritas.
Transforme a prosa em um cálculo
Colou uma fatura ou escreveu algumas linhas que deveriam ser calculadas? Selecione as linhas e escolha Format › Convert to Calculation Block, ou pressione ⌘Y com uma seleção: o Varlig coloca as linhas entre delimitadores de cálculo, em uma única edição que pode ser desfeita, e as respostas aparecem ao lado delas.
Sem nada selecionado, ⌘Y insere um bloco vazio. O texto fora de um bloco nunca é calculado, portanto, um e-mail colado mantém seus números, datas e referências de fatura exatamente como estão.
Redefinição do escopo
Uma linha contendo apenas --- inicia um novo escopo. Nomes, unidades personalizadas e suas próprias funções definidas acima não são mais visíveis abaixo. Isso é útil para comparar dois cenários em uma nota sem que seus valores vazem um para o outro.
# Option A: the flat in townrent = £1,250travel = £60rent + travel resulta em £1,310.00---# Option B: the flat further outrent = £980travel = £210rent + travel resulta em £1,190.00Abaixo do ---, travel tem que ser definido novamente. Se você esquecer, a linha que o usa não tem nada a que se referir.
Condicionais
if … then … else … escolhe um dos dois valores com base em uma comparação. Você pode usá-lo por conta própria ou atribuir o resultado a um nome:
basket = £34.50delivery = if basket >= £40 then £0 else £3.99 resulta em £3.99basket + delivery resulta em £38.49Encadeia else if para mais de dois resultados:
basket = £34.50if basket < £20 then £4.99 else if basket < £40 then £2.99 else £0 resulta em £2.99Somente o ramo escolhido é avaliado; por isso, o outro ramo pode conter algo que geraria um erro:
guests = 0if guests > 0 then £120 / guests else £0 resulta em £0.00if e unless após o valor
Você também pode colocar a condição depois do valor. value if condition mostra o valor quando a condição é verdadeira, e value unless condition o mostra quando a condição é falsa. Fora dessas condições, a linha fica em branco nos dois casos.
basket = £34.50£3.99 if basket < £40 resulta em £3.99£3.99 unless basket >= £40 resulta em £3.99O valor pode ser texto entre aspas duplas, o que transforma uma verificação em uma linha que informa onde você está e permanece em branco o resto do tempo:
conversion = 0.667%"on target" if conversion > 0.5% resulta em on targetAtribuindo dentro de um condicional
Os dois ramos podem atribuir valores ao mesmo nome:
basket = £34.50if basket >= £40 then shipping = £0 else shipping = £3.99 resulta em £3.99shipping resulta em £3.99Com apenas uma ramificação then, a atribuição acontece quando a condição é válida e o nome mantém seu valor antigo de outra forma:
basket = £34.50points = 0if basket > £30 then points = 50 resulta em 50points resulta em 50Comparações como >= e os operadores && e || são abordados em Operadores, comparações e condicionais.
Combinando os recursos
Aqui está uma pequena fatura freelance, escrita da maneira que você pode mantê-la em uma nota:
# March invoiceday rate = £420days worked = 6travel = £86.40 // train faresfees = day rate * days worked resulta em £2,520.00subtotal = fees + travel resulta em £2,606.40vat registered = truevat = if vat registered then subtotal * 20% else £0 resulta em £521.28Total due: subtotal + vat resulta em £3,127.68Cada entrada tem um nome, então no próximo mês você só muda days worked e travel, e o resto da fatura segue. Os comentários e o rótulo mantêm o bloco legível, e o condicional significa que a mesma nota funciona, quer você cobre ou não o IVA.