الدوال

اتقن الدوال الديناميكية لمهام النص، الرياضيات، والتنسيق.

تصبح التعبيرات الديناميكية أكثر قوة مع استخدام الدوال. تساعدك هذه الأدوات المدمجة على إجراء العمليات الحسابية، وتحويل النص، وتنسيق البيانات، مما يتيح لك إنشاء محتوى أكثر ديناميكية وتخصيصًا.

ما هي الدوال؟

الدوال في التعبيرات الديناميكية هي أوامر خاصة تأخذ قيمًا مدخلة (تسمى وسائط) وتعيد نتيجة. يمكن استخدامها للعمليات الرياضية، ومعالجة النصوص، والقرارات القائمة على المنطق.

تُكتب الدوال داخل الأقواس المعقوفة {{ ... }} ويمكن دمجها مع متغيرات البيانات والقيم الحرفية والعوامل.

مثال: {{ ROUND(AVERAGE(sessionUser.stats.likes, 10)) }} - يحسب هذا المثال متوسط إجمالي إعجابات المستخدم والعدد 10، ويقرّب النتيجة إلى أقرب عدد صحيح.

دوال معالجة النصوص

  • UPPERCASE(text): يحوّل النص إلى أحرف كبيرة.
    • مثال: {{ UPPERCASE("hello world") }} → "مرحبًا بالعالم" (نص)
  • LOWERCASE(text): يحوّل النص إلى أحرف صغيرة.
    • مثال: {{ LOWERCASE("HELLO") }} → "hello" (نص)
  • CAPITALIZE(text): يحوّل الحرف الأول من السلسلة إلى حرف كبير.
    • مثال: {{ CAPITALIZE("ideanote") }} → "Ideanote" (نص)
  • TRIM(text): يزيل المسافات البيضاء في بداية السلسلة ونهايتها.
    • مثال: {{ TRIM(" idea collection ") }} → "جمع الأفكار" (نص)
  • REPLACE(text, search, replace): يستبدل جزءًا من سلسلة بسلسلة أخرى.
    • مثال: {{ REPLACE("Innovation Hub", "Hub", "Center") }} → "مركز الابتكار" (نص)
  • TRUNCATE(text, length): يختصر سلسلة إلى طول محدد.
    • مثال: {{ TRUNCATE("Welcome to the innovation program!", 10) }} → "مرحبًا بك في..." (نص)
  • CONCAT(...strings): يجمع عدة سلاسل نصية في سلسلة واحدة.
    • مثال: {{ CONCAT("Hello, ", "world") }} → "مرحبًا بالعالم" (نص)
  • REPEAT(text, count): يكرر سلسلة عددًا محددًا من المرات.
    • مثال: {{ REPEAT("Hi! ", 3) }} → "Hi! Hi! Hi!" (نص)
  • APPEND(text, suffix): يضيف لاحقة إلى نهاية سلسلة.
    • مثال: {{ APPEND("hello", ", world") }} → "مرحبًا بالعالم" (نص)
  • PREPEND(text, prefix): يضيف بادئة إلى بداية سلسلة.
    • مثال: {{ PREPEND("world", "hello, ") }} → "مرحبًا بالعالم" (نص)
  • STARTS_WITH(text, search): يعيد ما إذا كانت السلسلة تبدأ بسلسلة أخرى.
    • مثال: {{ STARTS_WITH("hello", "he") }} → true (قيمة منطقية)
  • ENDS_WITH(text, search): يعيد ما إذا كانت السلسلة تنتهي بسلسلة أخرى.
    • مثال: {{ ENDS_WITH("hello", "lo") }} → true (قيمة منطقية)
  • INCLUDES(text, search): يتحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى.
    • مثال: {{ INCLUDES("hello", "ell") }} → true (منطقي)
  • LENGTH(text): تُرجع طول النص.
    • مثال: {{ LENGTH("Ideas") }} → 5 (رقم)

دوال الرياضيات

  • ABS(number): تُرجع القيمة المطلقة (غير السالبة) للعدد.
    • مثال: {{ ABS(-15) }} → 15 (رقم)
  • ADD(...numbers): تُرجع مجموع قائمة من الأعداد.
    • مثال: {{ ADD(1, 2, 3) }} → 6 (رقم)
  • SUBTRACT(number, subtrahend): تُرجع نتيجة طرح عددين.
    • مثال: {{ SUBTRACT(10, 2) }} → 8 (رقم)
  • MULTIPLY(number, multiplier): تُرجع نتيجة ضرب عددين.
    • مثال: {{ MULTIPLY(2, 3) }} → 6 (رقم)
  • DIVIDE(number, divisor): تقسم عددًا على عدد آخر.
    • مثال: {{ DIVIDE(10, 2) }} → 5 (رقم)
  • MOD(number, divisor): تُرجع باقي قسمة عددين.
    • مثال: {{ MOD(10, 3) }} → 1 (رقم)
  • ROUND(number): تقرّب العدد إلى أقرب عدد صحيح.
    • مثال: {{ ROUND(4.7) }} → 5 (رقم)
  • CEIL(number): تُرجع أصغر عدد صحيح أكبر من العدد أو يساويه.
    • مثال: {{ CEIL(1.5) }} → 2 (رقم)
  • FLOOR(number): تُرجع أكبر عدد صحيح أصغر من العدد أو يساويه.
    • مثال: {{ FLOOR(1.5) }} → 1 (رقم)
  • MAX(...numbers): تُرجع أكبر عدد في القائمة.
    • مثال: {{ MAX(10, 20, 5) }} → 20 (رقم)
  • MIN(...numbers): تُرجع أصغر عدد في القائمة.
    • مثال: {{ MIN(10, 20, 5) }} → 5 (رقم)
  • POW(number, exponent): تُرجع نتيجة رفع عدد إلى قوة عدد آخر.
    • مثال: {{ POW(2, 3) }} → 8 (رقم)
  • AVERAGE(...numbers): تُرجع متوسط قائمة من الأعداد.
    • مثال: {{ AVERAGE(1, 2, 3) }} → 2 (رقم)

دوال التنسيق والمساعدة

  • FORMAT(value): تنسّق قيمة (مثل عدد أو تاريخ) وفقًا لتفضيلات المستخدم.
    • مثال: {{ FORMAT(10000) }} → "10,000" (نص)
  • PREFIX(text, prefix): تضيف بادئة إلى بداية سلسلة نصية.
    • مثال: {{ PREFIX("world", "hello, ") }} → "hello, world" (نص)
  • SUFFIX(text, suffix): تضيف لاحقة إلى نهاية سلسلة نصية.
    • مثال: {{ SUFFIX("hello", ", world") }} → "مرحبًا بالعالم" (نص)

نصائح للتعامل مع الأخطاء

  1. التحقق من القيم الفارغة: تأكد من وجود المتغيرات التي تستخدمها.
  2. تجنّب القسمة على صفر: استخدم MAX لضمان ألا تكون المقسومات عليها صفرًا مطلقًا، مثلًا بكتابة {{ DIVIDE(10, MAX(value, 1)) }}.
  3. مطابقة الأقواس: تأكد من أن جميع الدوال والشروط تحتوي على أقواس مطابقة.
  4. مراجعة رسائل الخطأ: يمكن أن يوفر التمرير فوق قيمة "لم يتم حسابها" في مساحة العمل الخاصة بك أدلة حول السبب الكامن.

من خلال إتقان هذه الدوال، يمكنك تحويل مساحة العمل الخاصة بك إلى بيئة ديناميكية بالكامل، وشخصية، وفعالة تتكيف مع مدخلات المستخدم والبيانات.