الدوال
اتقن الدوال الديناميكية لمهام النص، الرياضيات، والتنسيق.
تصبح التعبيرات الديناميكية أكثر قوة مع استخدام الدوال. تساعدك هذه الأدوات المدمجة على إجراء العمليات الحسابية، وتحويل النص، وتنسيق البيانات، مما يتيح لك إنشاء محتوى أكثر ديناميكية وتخصيصًا.
ما هي الدوال؟
الدوال في التعبيرات الديناميكية هي أوامر خاصة تأخذ قيمًا مدخلة (تسمى وسائط) وتعيد نتيجة. يمكن استخدامها للعمليات الرياضية، ومعالجة النصوص، والقرارات القائمة على المنطق.
تُكتب الدوال داخل الأقواس المعقوفة {{ ... }} ويمكن دمجها مع متغيرات البيانات والقيم الحرفية والعوامل.
مثال: {{ 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") }}→ "مرحبًا بالعالم" (نص)
- مثال:
نصائح للتعامل مع الأخطاء
- التحقق من القيم الفارغة: تأكد من وجود المتغيرات التي تستخدمها.
- تجنّب القسمة على صفر: استخدم
MAXلضمان ألا تكون المقسومات عليها صفرًا مطلقًا، مثلًا بكتابة{{ DIVIDE(10, MAX(value, 1)) }}. - مطابقة الأقواس: تأكد من أن جميع الدوال والشروط تحتوي على أقواس مطابقة.
- مراجعة رسائل الخطأ: يمكن أن يوفر التمرير فوق قيمة "لم يتم حسابها" في مساحة العمل الخاصة بك أدلة حول السبب الكامن.
من خلال إتقان هذه الدوال، يمكنك تحويل مساحة العمل الخاصة بك إلى بيئة ديناميكية بالكامل، وشخصية، وفعالة تتكيف مع مدخلات المستخدم والبيانات.