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

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

{{#اسم الدالة: بارامتر 1 | بارامتر 2 | بارامتر 3...}}

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

الدوال

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


if

الدالة 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 تقارن نصين و ترجع نصا آخر حسب نتيجة المقارنة. الصيغة كما يلي :

{{ #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: أسلوب }}


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

عملية الحساب العملية مثال
* الجذاء {{#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 كدالة قالب, بشرط عدم وجود أي فراغ بين « subst: » و « # ». انظر أيضا

التبديلات.

time

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

  • {{#time:A}} = "AM"
  • {{#time:a}} = "am"
  • {{#time:c}} = "2024-11-21T10:35:08+00:00"
  • {{#time:D}} = "خميس"
  • {{#time:d}} = "21"
  • {{#time:F}} = "نوفمبر"
  • {{#time:G}} = "10"
  • {{#time:g}} = "10"
  • {{#time:H}} = "10"
  • {{#time:h}} = "10"
  • {{#time:i}} = "35"
  • {{#time:j}} = "21"
  • {{#time:L}} = "1"
  • {{#time:l}} = "الخميس"
  • {{#time:M}} = "نوفمبر"
  • {{#time:m}} = "11"
  • {{#time:N}} = "4"
  • {{#time:n}} = "11"
  • {{#time:r}} = "Thu, 21 Nov 2024 10:35:08 +0000"
  • {{#time:s}} = "08"
  • {{#time:t}} = "30"
  • {{#time:U}} = "1732185308"
  • {{#time:W}} = "47"
  • {{#time:w}} = "4"
  • {{#time:Y}} = "2024"
  • {{#time:y}} = "24"
  • {{#time:z}} = "325"
  • {{#time:Y-m-dTH:i:sZ}} = "2024-11-21UTC10:35:080"


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

انظر أيضا

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

روابط خارجية

about the ParserFunctions in the Wikitech-l list archive]