ابدأ بسياق التنفيذ
يعيد التعبير قيمة، ثم تقرر الميزة التي تقيّمه هل تصبح هذه القيمة حقلاً محسوباً أو قرار رؤية أو نتيجة تحقق أو نصاً في نموذج أو رقماً تسلسلياً أو مخرج مستند. لا يعني تشابه الكتابة أن التعبير صالح في كل مكان؛ فمتغيرات الجذر والدوال الخاصة بالسياق تختلف. قبل كتابة أي تعبير، حدّد هذه الأمور الأربعة:- الميزة التي ستقيّمه: قيمة افتراضية للكيان، قاعدة كيان، حقل محسوب، نموذج، إعداد تسلسلي، أو قالب مستند.
- مفتاح الحقل أو جذر السياق الفعلي، لا التسمية الظاهرة للمستخدم.
- نوع النتيجة المطلوب: منطقي أو رقم أو نص أو تاريخ أو نتيجة تحقق أو قائمة.
- السلوك المقصود عند غياب قيمة أو فشل بحث أو حدوث خطأ.
القيم والمسارات
القيم الحرفية
قراءة قيمة
يأتي الجذر من السياق. تعرض قواعد الكيان السجل الحالي عادة في$، بينما تعرض قوالب المستند السجل في $record.
ترشيح قائمة
تستخدم المرشحات النسبية. للدلالة على عنصر القائمة الجاري فحصه:
العوامل وأولوية التنفيذ
استخدم الأقواس كلما اختلط الحساب والمقارنة والقرار المنطقي. فهي تسهّل مراجعة السياسة وتمنع الاعتماد غير المقصود على الأولوية.
لصيغة بديلة، اكتب عامل «أو» المنطقي في كتلة تعبير بدلاً من وضع حرفي الأنبوب داخل خلية جدول Markdown:
eq(left, right) مساواة مرنة مقصودة، بينما لا يستخدم العامل الثنائي == ذلك. فضّل == لقيم الخيارات المخزنة، ولا تستخدم eq إلا إذا كان تحويل النوع جزءاً مقصوداً من السياسة.
العوامل النصية and وor وxor
توجد العوامل النصية لتعبيرات التحقق، لكن سلوك رسائل التحقق فيها يختلف بين بيئة المنشئ المشتركة وبيئة قالب المستند. لذلك لا تعتمد عليها كطريقة متنقلة لتجميع أخطاء موجهة للمستخدم. للمنطق المنطقي أو القيمي العادي استخدم && و||. ولتحقق الحقول استخدم دوال التحقق في سياق التحقق الفعلي واختبر الرسالة المعادة.
الدوال وتحويلات الأنبوب
تتوفر لمعظم الدوال العامة صيغتان متكافئتان. تستقبل الدالة جميع الوسائط صراحة:| كوسيط أول:
- دوال الرياضيات ودوال النصوص ودوال التاريخ والوقت ودوال القوائم
- دوال المقارنة والشروط ودوال التحويل العامة
- دوال التحقق والبدائل القديمة
- دوال النماذج ومرشحات البحث والدوال التسلسلية وبحث قالب المستند
- دوال المشاريع ودوال التخطيط
القوالب والقوائم والكائنات
تجمع القوالب بين العلامتين المائلتين نصاً ثابتاً وقيماً مقيمة. ضع التعبير داخل{{ و}}:
null أو undefined داخل القالب إلى نص فارغ. هذا يمنع ظهور كلمة undefined لكنه قد يخفي بيانات مفقودة؛ أضف بديلاً صريحاً لكل جملة عامة أو رسمية.
يمكنك إنشاء قائمة أو كائن صغيرين لمنطق محلي:
تعبيرات التحقق ليست شروطاً عادية
تعيد دوال التحققtrue عند الصحة ونتيجة خطأ محلية عند الفشل. في سياق تحقق الحقل تستطيع دوال مثل v.required() تلقي قيمة الحقل الحالية تلقائياً عبر $value.
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 صراحة دعمه للتعبيرات.
أدلة ذات صلة
- التعبيرات في المنشئ
- الحقول المحسوبة
- النماذج والحقول والقوائم المتكررة
- المعرّفات التسلسلية
- قوالب المستندات


