مساعدة:دوال القوالب
هذا التمديد هو مجموعة دوال تمكن من البرمجة داخل القوالب. حيث تكتب الدوال الصيغة الآتية:
- {{#اسم الدالة: بارامتر 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 تتعلق بالوقت. و النتائج تكون بالإنجليزية
|
|
قائمة غير كاملة.
انظر أيضا
أمثلة لقوالب تستعمل الدوال
روابط خارجية
about the ParserFunctions in the Wikitech-l list archive]