مساعدة:دوال القوالب

هذا التمديد هو مجموعة دوال تمكن من البرمجة داخل القوالب. حيث تكتب الدوال الصيغة الآتية:

{{#اسم الدالة: معامل 1 | معامل 2 | معامل 3...}}

الدوال

عدل

حاليا توجد 5 وظائف : expr, if, ifeq, ifexpr, and switch.

الدالة if تعليمة if-then-else. صيغتها كما يلي :

{{ #if: <شرط> | <إذن نص1> | <و إلا نص2> }}

إذا كان الشرط فراغ ، يعتبر خطأ و <و إلا نص2> هو الذي سيظهر. و إلا, <إذن نص1> هو الذي سيظهر.

إلا نص2> يمكن حذفه, في هذه الحالة إذا كان الشرط خاطئا لن يظهر أي شيء.

مثال :

                      {{قالب|متغير=قيمة ما}}  {{قالب}} {{قالب|متغير=}}
                                     |                        |                |
                                     |                        |                |
                                     |                        |                |
{{ #if: {{{متغير|}}} | متغير محدد. | متغير غير محدد أو فارغ }}

لاحظ أن if لا تدعم الرمز « = » و لا الأساليب الرياضية. {{#if: 1 = 2|نعم|لا }}

ترجع « نعم » لأن سلسلة الحروف « 1 = 2 » ليست فارغة. حيث تعتبر بمثابة تعليمة if محددة. لمقارنة النصوص, استعمل

ifeq. لمقارنة الأعداد, استعمل ifexpr.

أمثلة if

عدل

{{#if: | صحيح}} ->
{{#if: | صحيح | }} ->
{{#if: | صحيح | خطأ}} -> خطأ

{{#if: قيمة ما | صحيح}} -> صحيح
{{#if: قيمة ما | صحيح | }} -> صحيح


{{#if: قيمة ما | صحيح | خطأ}} -> صحيح
{{#if: قيمة ما | | خطأ}} ->

ifeq تقارن نصين و ترجع نصا آخر حسب نتيجة المقارنة. الصيغة كما يلي :

{{ #ifeq: <نص 1> | <نص 2> | <نص في حالة التساوي> | <نص في حالة 

الإختلاف> }}

switch

عدل

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

{{ #switch: <قيمة للمقارنة>
| <قيمة1> = <نتيجة1>
| <قيمة2> = <نتيجة2>
| ...
| <قيمةn> = <نتيجةn>
| <نتيجة par défaut>
}}

switch تبحث من خلال مجموعة قيم إلى أن تجد القيمة المساوية لقيمة محددة. عند إيجاد القيمة, نتيجة تظهر القيمة المرتبطة (النص بعد الرمز يساوي). في حالة عدم إيجاد قيمة, آخر نتيجة ليس لها رمز يساوي يتم ارجاعها كقيمة افتراضية. في حالة كانت النتيجة الافتراضية متضمنة لرمز يساوي, في هذه الحالة يجب استعمال

#default:

{{ #switch: <قيمة للمقارنة>
| <قيمة> = <نتيجة>
| #default = <نتيجة افتراضية>
}}

لاحظ إمكانية تداخل القيم . مثال :

{{ #switch: <قيمة للمقارنة>
| <قيمة1>
| <قيمة2>
| <قيمة3> = <نتيجة3>
| ...
| <قيمةn> = <نتيجةn>
| <نتيجة افتراضية;
}}

لاحظ كيف أن قيمة1 و قيمة2 لا تحمل الرمز يساوي

.ستكون لها نتيجة

قيمة3 (أي أننا سنحصل على نتيجة3).

الدالة expr تحسب الصيغ الرياضية. صيغتها كما يلي :

{{ #expr: أسلوب }}


العمليات المدعومة (مرتبة حسب الأهمية) هي :

عملية الحساب العملية مثال
* الجذاء {{#expr: 30 * 7}} = 210
/ ou div القسمة {{#expr: 30 / 7}} = 4.2857142857143
+ الجمع {{#expr: 30 + 7}} = 37
- الطرح (أو النفي) {{#expr: 30 - 7}} = 23
باقي القسمة يعطي باقي القسمة {{#expr: 30 mod 7}} = 2
تحديد الأرقام تحديد عدد أرقام بعد الفاصلة {{#expr: 30 / 7 round 7}} = 4.2857143
= التساوي {{#expr: 30 = 7}} = 0
<> ou != الاختلاف {{#expr: 30 <> 7}} = 1
< أصغر من {{#expr: 30 < 7}} = 0
> أكبر من {{#expr: 30 > 7}} = 1
<= أصغر أو يساوي من {{#expr: 30 <= 7}} = 0
>= أكبر أو يساوي من {{#expr: 30 >= 7}} = 1
and و المنطقية {{#expr: 30 and 7}} = 1
or أو المنطقية {{#expr: 30 or 7}} = 1
not النفي المنطقي {{#expr: not 7}} = 0
( ) تجميع عمليات {{#expr: (30 + 7) * 7 }} = 259

العمليات المنطقية تعتبر 0 خطأ و 1 صحيح. يشار للفاصلة في الأعداد العشرية بنقطة « . ».

مثال :

{{ #expr: (100 - 32) / 9 * 5 round 0 }}

تعطي :

38
التي تمثل  100 °F co تحول في °C, نتيجة تكمل للعدد الصحيح الأقرب.

ifexpr

عدل

ifexpr تقيم أسلوبا رياضيا و ترسل نصا أو نصين حسب

النتيجة.

{{ #ifexpr: <اسلوب> | <إذن نص1> | <و إلا نص 2> }}

في حالة نتيجة المقارنة صفر ، إذن و إلا نص 2 هو الذي سيظهر, و في الحالة الأخرى إذن نص1

هو الذي سيظهر. الصيغ هي نفسها كما في expr.

استعمال subst كدالة قالب, بشرط عدم وجود أي فراغ بين « subst: » و « # ». انظر أيضا

التبديلات.

الوظيفة الجديد #time تتعلق بالوقت. و النتائج تكون بالإنجليزية

  • AM = "AM"
  • am = "am"
  • 2024-12-08T11:50:21+00:00 = "2024-12-08T11:50:21+00:00"
  • أحد = "أحد"
  • 08 = "08"
  • ديسمبر = "ديسمبر"
  • 11 = "11"
  • 11 = "11"
  • 11 = "11"
  • 11 = "11"
  • 50 = "50"
  • 8 = "8"
  • 1 = "1"
  • الأحد = "الأحد"
  • ديسمبر = "ديسمبر"
  • 12 = "12"
  • 7 = "7"
  • 12 = "12"
  • Sun, 08 Dec 2024 11:50:21 +0000 = "Sun, 08 Dec 2024 11:50:21 +0000"
  • 21 = "21"
  • 31 = "31"
  • 1733658621 = "1733658621"
  • 49 = "49"
  • 0 = "0"
  • 2024 = "2024"
  • 24 = "24"
  • 342 = "342"
  • 2024-12-08UTC11:50:210 = "2024-12-08UTC11:50:210"


قائمة غير كاملة.

انظر أيضا

عدل

أمثلة لقوالب تستعمل الدوال

عدل

وصلات خارجية

عدل

about the ParserFunctions in the Wikitech-l list archive]