Як написати рядок обчислення
Тут описано основи кожного блоку обчислень: читання рядка, коментарі до сум, імена значень і повторне використання та умови. Почніть тут, якщо ви новачок в обчисленнях Varlig, і повертайтеся, якщо ім’я чи коментар поводиться неочікувано.
Один вираз на рядок
Обчислення містяться в блоці всередині нотатки. Уведіть огорожу ```calc або натисніть ⌘Y, щоб вставити блок. Кожен рядок — одне обчислення з відповіддю поруч.
£3.40 * 5 дорівнює £17.0045 min + 1 hour 20 min дорівнює 2 hours 5 min1.5 litres in ml дорівнює 1,500 mLПорожні рядки й коментарі не мають відповідей, тому можна розділяти блок і пояснювати його по ходу.
Спершу Varlig читає весь рядок як математику, включно зі звичайними конструкціями на кшталт £45 with 20% VAT. Якщо це не вдається, невідомі слова відкидаються, тому 5 apples + 3 oranges дає 8. Це зручно для швидких записів, але опис може збігтися зі службовим виразом чи одиницею. Для пояснення призначення рядка використовуйте коментар або підпис, описані нижче. Подробиці — у Як Varlig читає вираз.
Слово на місці значення дає помилку з назвою слова, а не хибну відповідь. Повідомлення пропонує найближче визначене ім’я:
rent = £1,150rnt + £200 дорівнює Unsupported: unrecognized calculation at "rnt"; did you mean "rent"?Це стосується й імен із цифрами чи підкресленнями, як rent2 або rent_2. Вони не відкидаються як опис і не читаються лише як число; дужки, функція чи перетворення також не приховують помилки. Цифри допустимі в підписі — використовуйте його для опису:
rent = £1,150rent2 + £200 дорівнює Unsupported: unrecognized calculation at "rent2"; did you mean "rent"?(rnt + £200) * 2 дорівнює Unsupported: unrecognized calculation at "rnt"; did you mean "rent"?Flat 2: rent + £200 дорівнює £1,350.00Рядки, що починаються з маркера списку
Маркер на початку позначає пункт покупок: опис перед сумою відкидається, а рядок обчислюється. Використовуйте -, *, •, +, – або — і пробіл:
- flowers 1,200 дорівнює 1,200* coffee $4.50 дорівнює $4.50- 12 mugs дорівнює 12- 6 bananas @ 18p дорівнює £1.08- 500g pasta 3 packs at £1.10 each дорівнює £3.30Мінус перед самою величиною залишається мінусом: - 1,200 дає -1,200, а - 12 kg — -12 kg. Для виміряної величини у списку починайте з * або •, які завжди є маркерами.
Слова поруч із сумою
Опис робить рядок читабельним і не змінює число. Слова, з’єднані +, & або per, належать до опису, а не обчислення. Мінус, прилеглий до суми, належить їй, а номер після слова не заважає:
basin + pedestal £145 дорівнює £145.00food cost per head £14.20 дорівнює £14.20milk, bread, eggs £12.40 дорівнює £12.40Netflix -£10.99 дорівнює -£10.99DIRECT DEBIT REF 4471 £62.40 дорівнює £62.40Invoice #123: £250 дорівнює £250.00double cream 600 mL дорівнює 600 mLchlorine 3 ppm дорівнює 3 ppmt-shirt £12 дорівнює £12.00on the day 60 at £28 дорівнює £1,680.00Це охоплює типовий вміст вставлених виписок, підтверджень замовлень і переліків деталей: великі літери, коми, назви з дефісами та описи, що випадково починаються зі знайомих Varlig слів, як double, per чи on the day.
Нумерований підпис, як Year 2, Room 12 або ISA 2026, і період із роком, як Q4 2026, July 2026 чи week 40 2027, також належать до опису, якщо далі є величина: з валютою, одиницею чи відсотком або окреме число перед наступним оператором. Число підпису ніколи не додається:
Year 1 £5,000 + Year 2 £6,000 дорівнює £11,000.00Year 1 5,000 + Year 2 6,000 дорівнює 11,000ISA 2025 £20,000 + ISA 2026 £20,000 дорівнює £40,000.00Room 12 £40 + Room 14 £50 дорівнює £90.00Q3 2026 £5,000 + Q4 2026 £6,000 дорівнює £11,000.00July 2026 £500 + August 2026 £600 дорівнює £1,100.00Єдине число після слова є сумою, як у rent 1200 + 300, а кількість і далі рахується, як у tickets 2 £40 each. Одиниці hour, week і day вимірюють попереднє число; перед числом вони називають рядок: hour 2 — друга година, а не година й дві хвилини. Якщо далі є валюта, одиниця чи відсоток, пробіл після номера підпису починає величину: Week 2 150 hours — 150, а не 2150 годин:
hour 1 £40 + hour 2 £50 дорівнює £90.00hours 8 + hours 7 дорівнює 15Week 2 150 hours + Week 3 160 hours дорівнює 310 hoursКоментарі
Коментар — текст, який калькулятор ігнорує. Є чотири способи запису:
| Форма | Приклад | Що ігнорується |
|---|---|---|
| Коментар із решіткою | rent * 12 # per year або # Budget |
Усе від # із пробілом до кінця рядка |
| Коментар із похилими рисками | rent * 12 // per year |
Усе від // до кінця рядка |
| Примітка в лапках | "flat whites" £3.40 * 5 |
Усе в подвійних лапках будь-де в рядку |
| Примітка в дужках | $999 (for iPhone 16) |
Слова в дужках будь-де в рядку |
# Weekly shopmilk = £1.45bread = £1.20 // sourdougheggs = £2.30 "free range"milk + bread + eggs # without the extras дорівнює £4.95Решітка або скісна риска коментує решту рядка, а лапки й дужки можуть стояти посередині. Так можна пояснити суму й продовжити обчислення:
$999 (for iPhone 16) дорівнює $999.00laptop £899 (refurbished) + £49 case дорівнює £948.00Boing "747" is $386.8M дорівнює $386.8MДля тексту, схожого на число, безпечніше використовувати лапки: так 747 вище не потрапляє до обчислення. Дужки лише з числом означають арифметику, а не примітку, бо число поруч із дужками множиться:
$999 (3) дорівнює $2,997.00Тому пишіть кількість поза дужками або пояснюйте, що рахуєте, як у $999 (3 handsets). Усе, крім самого числа, залишається приміткою, зокрема слово з дефісом або відсоток:
£134 (25% discount already applied) дорівнює £134.00£10 (mother-in-law) дорівнює £10.00Рядок, що починається з решітки й пробілу, цілком є коментарем і зручний як заголовок усередині блоку.
Саме пробіл робить решітку коментарем. # зі словом без пробілу, як #food, — тег: позначає рядок, не бере участі в обчисленні й дає змогу підсумувати всі рядки з ним незалежно від розташування.
£12.50 lunch #food дорівнює £12.50£8 coffee #food дорівнює £8.00total of #food дорівнює £20.50Решітка з цифрами — ні те ні інше: вона задає номер об’єкта рядка й не бере участі в математиці, тож номери рахунків, замовлень і деталей читаються як записано.
Invoice #123: £250 дорівнює £250.00part #4 weighs 20 g дорівнює 20 gПідписи
Підпис — кілька слів із двокрапкою та пробілом на початку рядка. Він описує відповідь, не входячи до математики:
rent = £1,250bills = £180Rent and bills: rent + bills дорівнює £1,430.00Café bill: £12.50 + £4 дорівнює £16.50Підписи можуть містити літери, зокрема з діакритикою, цифри, пробіли й підкреслення, як Flat 2: або Q3 rent:.
Підпис не створює імені. Після Rent and bills: rent + bills значення Rent and bills не існує. Для повторного використання застосовуйте =. Не ставте підпис перед присвоєнням: Housing: rent = £1,250 показує суму, але не зберігає rent.
Присвоєння
= надає значенню ім’я. Рядок також показує значення для перевірки.
price = £85 дорівнює £85.00price + 20% дорівнює £102.00Щоб оновити вже визначене ім’я, використовуйте +=, -=, *= або /=:
holiday fund = £400holiday fund += £150 дорівнює £550.00holiday fund -= £85 дорівнює £465.00servings = 4servings *= 3 дорівнює 12flour = 750 gflour /= 3 дорівнює 250 gЯкщо права частина дає помилку, ім’я зберігає цю помилку, і всі залежні рядки показують її до нового присвоєння:
guests = 0per head = £120 / guests дорівнює Error: divide by zeroper head + £5 дорівнює Error: divide by zeroЗбережене значення може мати опис, як окремий рядок. Проте права частина не може бути сторонніми словами навколо самого імені: тоді намір неоднозначний. За визначеного rent = £1,150 рядок x = spent excl rent повідомляє про spent excl rent, а не непомітно зберігає оренду.
paid rent = £1,150daily spend = paid rent / 16 дорівнює £71.88Назви
Імена можуть складатися з кількох слів і містити літери з діакритикою, нелатинські літери, цифри, підкреслення та емодзі:
flat white = £3.40flat white * 5 дорівнює £17.00crème brûlée = £6.50crème brûlée * 2 дорівнює £13.00🍎 price = £0.45🍎 price * 6 дорівнює £2.70q1 sales = £12,400q2 sales = £14,100q1 sales + q2 sales дорівнює £26,500.00bedroom_width = 3.2 mbedroom_width * 2 дорівнює 6.4 mІм’я може містити службові слова Varlig, як to, in або needed, чи збігатися з назвою вбудованої функції, як floor. Усюди, де воно використовується як значення, Varlig читає ваше значення:
time to work = 25 mintime to work * 10 дорівнює 4 hours 10 minpaint needed = 12.44 Lpaint needed to 1 dp дорівнює 12.4 Lfloor = 12 m²floor * 2 дорівнює 24 m²floor(3.7) дорівнює 3З дужками, як у floor(3.7), функція виконує свою звичайну дію.
Ім’я може навіть закінчуватися числівником, щоб ціна читалася як у меню:
table for four = £96table for four / 4 дорівнює £24.00Якщо два імені починаються однаково, перемагає довше, тож нумероване ім’я читається повністю:
batch = £8.01batch 2 = £8.21batch 2 - batch дорівнює £0.20Регістр імен важливий: eggs та Eggs — різні значення.
Для імені, потрібного в кожній нотатці, наприклад погодинної чи податкової ставки, додайте його до глобальних визначень у налаштуваннях замість повторення.
Назви, що збігаються з вбудованими словами
Ваше визначення має пріоритет над однойменною одиницею, числівником або сталою. Водночас природні імена не спотворюють кількостей: число перед іменем у множині чи одиницею рахує об’єкти, а відсоток перед tip або tax задає чайові чи податок. Тому значення hours, nights або tip не змінюють ці рядки:
rate = £14 / hourhours = 7.5rate * 7.5 hours дорівнює £105.00nights = 14£118/night * 14 nights дорівнює £1,652.00tip = $12.69$84.60 + 18% tip дорівнює $99.83Наведіть вказівник на слово, щоб побачити трактування. Для rate * 7.5 hours пояснення каже: «Тут рахується кількість годин, а не змінна hours = 7.5». В інших позиціях ім’я означає ваше значення, як у split £90 among people.
Перетворення працює так само: після in, to або as одиниця має пріоритет над іменем із числом без одиниць. За miles = 12 вираз 20 km in miles і далі дає 12,4274238447 mi. Ім’я перед одиницею масштабує її, а не задає ціль: 15.2 m in scale miles за scale = 76.2 повідомляє Unsupported: conversion to scale miles замість вибору неоднозначного трактування.
Одиниця у формі ставки без пробілів навколо риски читається як одиниця незалежно від інших визначень її літер. Тому скопійовані густина чи швидкість зберігають зміст:
g = 9.81 m/s²2 g дорівнює 19.62 m/s²2.7 g/cm³ дорівнює 2.7 g/cm³50 kg * g дорівнює 490.5 NУ деяких випадках ваше визначення все ж змінює рядок:
- Одна літера завжди означає ваше значення: після
m = 3вираз2 mдає 6, а не два метри. - Число перед іменем в однині множить його: після
width = 3вираз2 widthдає 6. Це також стосується однолітерного імені перед одиницею або оператором. Підказка пояснює це й пропонує явний запис2 * width. - Числівники й сталі також замінюються: після
one = 7виразone times twoдає 14.
Дві звички допомагають уникнути більшості несподіванок:
- Не використовуйте окремі символи одиниць як імена, зокрема
m,s,hчиin, і не перевизначайте сталі та числівники на кшталтpi,oneабоi. - Вибирайте описові імена, як
hours worked,day rateабоrun distance.
Порядок у документі
Кожен рядок бачить імена, визначені вище. Вони доступні й у подальших блоках обчислень тієї самої нотатки, тому вхідні дані можна задати один раз і використовувати нижче.
price = £20quantity = 3cost = price * quantity дорівнює £60.00price = £25price * quantity дорівнює £75.00cost дорівнює £60.00Перевизначення price не змінює попередній рядок cost: cost було обчислено з ціною, чинною на той момент. Щоб змінити раніший результат, відредагуйте визначення його вхідного значення.
Відповідь вище
prev — найближча відповідь у рядку вище. ans означає те саме, якщо ви не визначили власне значення ans. Вони зручні для швидкого продовження обчислення:
£1,250 * 12 дорівнює £15,000.00prev / 52 дорівнює £288.46ans + £20 дорівнює £308.46Для суми групи рядків напишіть sum або total окремим рядком. Див. Підсумовування попередніх рядків.
Посилання на рядок за номером
line1, line2 тощо посилаються на обчислення за позицією в нотатці, рахуючи всі блоки послідовно:
price = £100 дорівнює £100.00line1 * 2 дорівнює £200.00Посилання залишається прив’язаним до свого рядка. Якщо вставити рядок вище або перемістити через Format › Move Line Up та Move Line Down, відповідь і далі використовує той самий рядок. Varlig сам оновлює номери як окрему скасовувану дію, щоб текст і результат узгоджувалися.
Після видалення цільового рядка посилання повідомляє Error: line2 refers to a deleted line, а не непомітно використовує інше значення. Скасування відновлює обидва.
Копіювання й вставлення зберігає посилання
Після копіювання чи вирізання та вставлення рядків їхні посилання line2 і ↑ продовжують читати ті самі значення:
- Посилання на скопійований рядок слідує за копією з оновленим номером.
- Посилання на нескопійований рядок зберігає свою ціль при вставленні в ту саму нотатку.
- При вставленні в іншу нотатку воно стає іменем, визначеним цільовим рядком, наприклад
rentдляrent = $1,200, і працює, коли нотатка визначить або підключить це ім’я. Рядок без імені перетворюється на посилання на кшталтline2_of_Budget, яке повідомляє про ситуацію до заміни:
5 + line2_of_Budget дорівнює Unsupported: line2_of_Budget is a line of another noteБуфер обміну містить лише виділений текст, тому інші програми отримують саме його; вставлення скасовується одним кроком. Рядки з нотатки, захищеної паролем, вставляються без змін.
Перетворення тексту на обчислення
Вставили рахунок або написали рядки, які треба підсумувати? Виділіть їх і виберіть Format › Convert to Calculation Block або натисніть ⌘Y. Varlig обгорне рядки огорожею calc як одну скасовувану дію й покаже відповіді поруч.
Без виділення ⌘Y вставляє порожній блок. Текст поза блоком не обчислюється, тому вставлений лист зберігає числа, дати й номери рахунків без змін.
Скидання області видимості
Рядок лише з --- починає нову область видимості. Імена, власні одиниці й функції вище більше не доступні нижче. Це зручно для порівняння двох сценаріїв в одній нотатці без взаємного впливу значень.
# Option A: the flat in townrent = £1,250travel = £60rent + travel дорівнює £1,310.00---# Option B: the flat further outrent = £980travel = £210rent + travel дорівнює £1,190.00Нижче за --- потрібно знову визначити travel. Інакше рядку, що його використовує, немає на що послатися.
Умовні вирази
if … then … else … вибирає одне з двох значень за результатом порівняння. Його можна використати окремо або присвоїти результат імені:
basket = £34.50delivery = if basket >= £40 then £0 else £3.99 дорівнює £3.99basket + delivery дорівнює £38.49Для понад двох результатів додайте ланцюжок else if:
basket = £34.50if basket < £20 then £4.99 else if basket < £40 then £2.99 else £0 дорівнює £2.99Обчислюється лише вибрана гілка, тому інша може містити операцію, що дала б помилку:
guests = 0if guests > 0 then £120 / guests else £0 дорівнює £0.00Постфіксні if та unless
Умову можна поставити після значення. value if condition показує значення, коли умова виконується, а value unless condition — коли не виконується. В інших випадках рядок нічого не показує.
basket = £34.50£3.99 if basket < £40 дорівнює £3.99£3.99 unless basket >= £40 дорівнює £3.99Значенням може бути текст у подвійних лапках: тоді перевірка повідомляє про стан лише за потреби, а решту часу рядок порожній:
conversion = 0.667%"on target" if conversion > 0.5% дорівнює on targetПрисвоєння всередині умови
Обидві гілки можуть присвоювати значення одному імені:
basket = £34.50if basket >= £40 then shipping = £0 else shipping = £3.99 дорівнює £3.99shipping дорівнює £3.99Якщо є лише гілка then, присвоєння виконується за істинної умови, а інакше ім’я зберігає попереднє значення:
basket = £34.50points = 0if basket > £30 then points = 50 дорівнює 50points дорівнює 50Порівняння, як >=, та оператори && і || описано в розділі Оператори, порівняння й умови.
Поєднання можливостей
Ось невеликий рахунок фрилансера у формі звичайної нотатки:
# March invoiceday rate = £420days worked = 6travel = £86.40 // train faresfees = day rate * days worked дорівнює £2,520.00subtotal = fees + travel дорівнює £2,606.40vat registered = truevat = if vat registered then subtotal * 20% else £0 дорівнює £521.28Total due: subtotal + vat дорівнює £3,127.68Усі вхідні дані мають імена, тому наступного місяця достатньо змінити days worked і travel, а решта оновиться. Коментарі й підпис роблять блок зрозумілим, а умова дозволяє використовувати ту саму нотатку з ПДВ або без нього.