كتابة سطر حساب
تشرح هذه الصفحة الأساسيات التي تقوم عليها كل كتلة حسابية: كيفية قراءة السطر، وإضافة توضيحات بجوار العمليات الحسابية، وتسمية القيم وإعادة استخدامها، وجعل السطر يعتمد على شرط. ابدأ هنا إذا كنت تتعرف على الحسابات في 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 ساعة، لا 2,150:
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 هما قيمتان مختلفتان.
إذا أردت إتاحة اسم في كل ملاحظة، مثل أجرك بالساعة أو معدل ضريبة، فأضفه إلى التعريفات العامة في Settings بدلا من تكراره في كل ملاحظة.
الأسماء التي تتعارض مع الكلمات المضمّنة
للاسم الذي تعرّفه أولوية على أي شيء آخر له الكتابة نفسها، مثل وحدة أو عدد مكتوب بالكلمات أو ثابت. لكن الأسماء المعتادة لا تغيّر معنى الكميات: فالعدد المكتوب مباشرة قبل اسم بصيغة الجمع أو قبل وحدة يعدّ ذلك الشيء، والنسبة المئوية التي تسبق 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مرّر المؤشر فوق الكلمة لترى كيف فسّرها Varlig. ففي 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 بمحدِّدَي كتلة حسابية في تعديل واحد يمكن التراجع عنه، وتظهر النتائج بجوارها.
مع عدم تحديد أي شيء، يقوم ⌘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، وتتحدّث بقية الفاتورة تلقائيا. وتحافظ التعليقات والتسمية على وضوح الكتلة، ويتيح الشرط استخدام الملاحظة نفسها سواء أضفت ضريبة القيمة المضافة أم لم تضفها.