Skip to main content

ابدأ بسياق التنفيذ

يعيد التعبير قيمة، ثم تقرر الميزة التي تقيّمه هل تصبح هذه القيمة حقلاً محسوباً أو قرار رؤية أو نتيجة تحقق أو نصاً في نموذج أو رقماً تسلسلياً أو مخرج مستند. لا يعني تشابه الكتابة أن التعبير صالح في كل مكان؛ فمتغيرات الجذر والدوال الخاصة بالسياق تختلف. قبل كتابة أي تعبير، حدّد هذه الأمور الأربعة:
  1. الميزة التي ستقيّمه: قيمة افتراضية للكيان، قاعدة كيان، حقل محسوب، نموذج، إعداد تسلسلي، أو قالب مستند.
  2. مفتاح الحقل أو جذر السياق الفعلي، لا التسمية الظاهرة للمستخدم.
  3. نوع النتيجة المطلوب: منطقي أو رقم أو نص أو تاريخ أو نتيجة تحقق أو قائمة.
  4. السلوك المقصود عند غياب قيمة أو فشل بحث أو حدوث خطأ.
اقرأ سياقات وتوافر التعبيرات قبل نقل تعبير عامل من ميزة إلى أخرى.

القيم والمسارات

القيم الحرفية

قراءة قيمة

يأتي الجذر من السياق. تعرض قواعد الكيان السجل الحالي عادة في $، بينما تعرض قوالب المستند السجل في $record.
استخدم النقطة للمفاتيح العادية والأقواس للفهرس أو المفتاح غير البسيط:
لا تخمّن المفتاح من عنوانه المترجم. يشير التعبير المتين إلى مفتاح الحقل الثابت المضبوط في المنشئ.

ترشيح قائمة

تستخدم المرشحات النسبية . للدلالة على عنصر القائمة الجاري فحصه:
اعتبر النتيجة الفارغة حالة طبيعية، واختبرها قبل جعلها أساس قرار مهم:

العوامل وأولوية التنفيذ

استخدم الأقواس كلما اختلط الحساب والمقارنة والقرار المنطقي. فهي تسهّل مراجعة السياسة وتمنع الاعتماد غير المقصود على الأولوية. لصيغة بديلة، اكتب عامل «أو» المنطقي في كتلة تعبير بدلاً من وضع حرفي الأنبوب داخل خلية جدول Markdown:
تستخدم الدالة eq(left, right) مساواة مرنة مقصودة، بينما لا يستخدم العامل الثنائي == ذلك. فضّل == لقيم الخيارات المخزنة، ولا تستخدم eq إلا إذا كان تحويل النوع جزءاً مقصوداً من السياسة.

العوامل النصية and وor وxor

توجد العوامل النصية لتعبيرات التحقق، لكن سلوك رسائل التحقق فيها يختلف بين بيئة المنشئ المشتركة وبيئة قالب المستند. لذلك لا تعتمد عليها كطريقة متنقلة لتجميع أخطاء موجهة للمستخدم. للمنطق المنطقي أو القيمي العادي استخدم && و||. ولتحقق الحقول استخدم دوال التحقق في سياق التحقق الفعلي واختبر الرسالة المعادة.

الدوال وتحويلات الأنبوب

تتوفر لمعظم الدوال العامة صيغتان متكافئتان. تستقبل الدالة جميع الوسائط صراحة:
أما التحويل فيستقبل القيمة إلى يسار | كوسيط أول:
اختر الصيغة الأسهل قراءة. دوال التحقق ودوال البحث/المرشح في النموذج ودالة البحث في قالب المستند هي استدعاءات دوال فقط. أما دوال النموذج والدوال التسلسلية فليست واجهة عامة للحقول المحسوبة؛ ويظهر توافر كل دالة في صفحتها المرجعية. راجع المرجع الكامل بحسب المهمة:

القوالب والقوائم والكائنات

تجمع القوالب بين العلامتين المائلتين نصاً ثابتاً وقيماً مقيمة. ضع التعبير داخل {{ و}}:
تتحول القيمة null أو undefined داخل القالب إلى نص فارغ. هذا يمنع ظهور كلمة undefined لكنه قد يخفي بيانات مفقودة؛ أضف بديلاً صريحاً لكل جملة عامة أو رسمية. يمكنك إنشاء قائمة أو كائن صغيرين لمنطق محلي:
ويمكن لبنية النشر الجمع بين قيمة منظمة وعنصر جديد:
أبق هذه البنى محلية داخل التعبير. إذا احتاج الموظفون إلى البحث عن قيمة أو اعتمادها أو إعداد تقارير عنها أو تدقيقها، فاحفظها في حقل عادي.

تعبيرات التحقق ليست شروطاً عادية

تعيد دوال التحقق true عند الصحة ونتيجة خطأ محلية عند الفشل. في سياق تحقق الحقل تستطيع دوال مثل v.required() تلقي قيمة الحقل الحالية تلقائياً عبر $value.
لا تستهلك كيانات KayanOS والنماذج كل قيمة معادة بالطريقة نفسها. فالنموذج، مثلاً، يعد true وnull وundefined والنص الفارغ صحيحة، وقد يعالج خطأ التقييم بصورة تختلف عن تحقق الكيان. راجع دوال التحقق وسياقات التعبيرات قبل نشر قاعدة.

الحتمية والتواريخ والاستخدام الآمن

تجنب random وshuffle وsample وsampleSize في التنسيقات التسلسلية أو الحقول المحسوبة المحفوظة أو القرارات القابلة للتدقيق. ولا تعتمد على الساعة الحية بلا سياسة تحديث: يمكن أن تتغير now() وisToday وisTomorrow وisYesterday وgetAge من دون تعديل للسجل. لا تستخدم كل دوال التاريخ نموذج منطقة زمنية واحداً. تستخدم بعض دوال التقويم معدلات التاريخ المحلية، بينما تستخدم dateAdd ومقارنة الوحدات واستخراج المكونات وdateFormat سلوكاً مائلاً إلى UTC. استخدم قيمة مصدر شبيهة بـ ISO، واذكر المنطقة الزمنية المقصودة في وصف الحقل، واختبر القيم حول منتصف الليل وحدود التوقيت الصيفي عند انطباقه. تستخدم dateFormat الرموز YYYY وMM وDD وHH وmm وss وSSS. وهي تختلف عن مفردات serialDate الأصغر (yyyy وyy وMM وdd).

الاختبار واستكشاف الأخطاء

لا توفر KayanOS Automations بيئة تشغيل عامة لهذه اللغة في إعدادات المشغلات والإجراءات. استخدم هذا المرجع فقط حيث يذكر حقل منشئ KayanOS صراحة دعمه للتعبيرات.

أدلة ذات صلة

بنية تعبير KayanOS في حقل المنشئ