עזרה:הוראות תנאי: הבדלים בין גרסאות בדף
מ (החלפת טקסט – " " ב־" ") |
חלוקת קונטרסים (שיחה | תרומות) אין תקציר עריכה |
||
(5 גרסאות ביניים של 2 משתמשים אינן מוצגות) | |||
שורה 1: | שורה 1: | ||
'''הוראות תנאי''' ( | '''הוראות תנאי''' (|ParserFunctions) הן הוראות שמאפשרות ליצור [[עזרה:תבניות|תבניות]] מתוחכמות המבצעות פעולות מתמטיות ולוגיות שונות הכוללות את הפונקציות "[[#חשב]]", "[[#תנאי]]", "[[#שווה]]", "[[#בדיקת שגיאה|בדיקת שגיאה]]", "[[#חשב תנאי]]", "[[#בחר]]", "[[#קיים]]", "[[#זמןמ]]", "[[#זמן]]" "[[#כתובת הדף|כתובת הדף]]" ו"[[#חלוקת הכתובת|חלוקת הכתובת]]". ניתן להשתמש גם בשמן הלועזי של הפונקציות, אך עדיף להשתמש בשמות העבריים. | ||
תחביר הפונקציות הוא '''{{#שם הפונקציה:פרמטרים המופרדים בסימן{{!}}ביניהם}}'''. | תחביר הפונקציות הוא '''{{#שם הפונקציה:פרמטרים המופרדים בסימן{{!}}ביניהם}}'''. | ||
שורה 202: | שורה 202: | ||
=== בדיקת שגיאה === | === בדיקת שגיאה === | ||
הפונקציה בודקת האם הביטוי שהתקבל הינו שגיאה. במידה וכן, מוחזר הפרמטר הראשון (או ריק כברירת מחדל), אחרת הפרמטר השני (או הביטוי עצמו כברירת מחדל). | הפונקציה בודקת האם הביטוי שהתקבל הינו שגיאה. במידה וכן, מוחזר הפרמטר הראשון (או ריק כברירת מחדל), אחרת הפרמטר השני (או הביטוי עצמו כברירת מחדל). | ||
* '''שם אנגלי:''' #iferror | * '''שם אנגלי:''' #iferror | ||
שורה 230: | שורה 230: | ||
====דוגמה==== | ====דוגמה==== | ||
בחישוב תנאי בדוגמה | בחישוב תנאי בדוגמה נעשה שימוש בפקודה {{((}}#זמןמ:w}} שמחזירה את היום בשבוע, בין 0 ל־6. | ||
'''כתיבה:''' <nowiki>{{#חשב תנאי:{{#זמןמ:</nowiki | '''כתיבה:''' <span dir="rtl"><nowiki>{{#חשב תנאי:{{#זמןמ:</nowiki>w}}+1</span>=6|היום יום ששי, זה הזמן לעשות סידורים.| היום יום עבודה רגיל או יום שבת.}} | ||
'''תוצאה:''' {{#חשב תנאי:{{#זמןמ:w}}+1=6|היום יום ששי, זה הזמן לעשות סידורים.| היום יום עבודה רגיל או יום שבת.}} | '''תוצאה:''' {{#חשב תנאי:{{#זמןמ:w}}+1=6|היום יום ששי, זה הזמן לעשות סידורים.| היום יום עבודה רגיל או יום שבת.}} | ||
שורה 274: | שורה 274: | ||
אחד השימושים בתבנית הוא כדי לבדוק את ערכו של פרמטר מסוים שהועבר לתבנית ולהחזיר ערך על בסיסו, ואפשר גם להשתמש בתבנית כדי לקבל ערך שונה כ[[עזרה:מילות מפתח|שמשתנה מערכת]] משתנה, למשל כשהיום משתנה, או החודש משתנה. | אחד השימושים בתבנית הוא כדי לבדוק את ערכו של פרמטר מסוים שהועבר לתבנית ולהחזיר ערך על בסיסו, ואפשר גם להשתמש בתבנית כדי לקבל ערך שונה כ[[עזרה:מילות מפתח|שמשתנה מערכת]] משתנה, למשל כשהיום משתנה, או החודש משתנה. | ||
ההוראה מקבילה ל [[#שווה]] מקונן ועדיפה על פניה בגלל אורכה הקצר. | ההוראה מקבילה ל [[#שווה]] מקונן ועדיפה על פניה בגלל אורכה הקצר. | ||
====דוגמאות==== | ====דוגמאות==== | ||
שורה 292: | שורה 292: | ||
* '''תחביר:''' {{((}}#קיים:שם הדף|מה לכתוב אם הדף קיים|מה לכתוב אם הדף אינו קיים}} | * '''תחביר:''' {{((}}#קיים:שם הדף|מה לכתוב אם הדף קיים|מה לכתוב אם הדף אינו קיים}} | ||
את שם הדף לבדיקה יש לכתוב '''ללא''' סוגריים | את שם הדף לבדיקה יש לכתוב '''ללא''' סוגריים מרובעים. | ||
ניתן להשתמש בתבנית, למשל, כדי להציג קישור לערך רק אם הוא קיים. | ניתן להשתמש בתבנית, למשל, כדי להציג קישור לערך רק אם הוא קיים. | ||
שורה 332: | שורה 332: | ||
! פורמט !! הסבר !! ערך נוכחי | ! פורמט !! הסבר !! ערך נוכחי | ||
|- | |- | ||
| Y|| שנה מלאה|| {{#זמןמ:Y}} | | Y|| שנה מלאה|| {{#זמןמ:Y}} | ||
|- | |- | ||
| y|| שנה קצרה|| {{#זמןמ:y}} | | y|| שנה קצרה|| {{#זמןמ:y}} | ||
|- | |- | ||
| L|| 1 אם שנה לועזית מעוברת, 0 אחרת|| {{#זמןמ:L}} | | L|| 1 אם שנה לועזית מעוברת, 0 אחרת|| {{#זמןמ:L}} | ||
|- | |- | ||
| n|| מספר חודש (1 עד 12)|| {{#זמןמ:n}} | | n|| מספר חודש (1 עד 12)|| {{#זמןמ:n}} | ||
|- | |- | ||
| m|| מספר חודש (01 עד 12)|| {{#זמןמ:m}} | | m|| מספר חודש (01 עד 12)|| {{#זמןמ:m}} | ||
|- | |- | ||
| M|| השם המקוצר של החודש || {{#זמןמ:M}} | | M|| השם המקוצר של החודש || {{#זמןמ:M}} | ||
|- | |- | ||
| M|| השם האנגלי המקוצר של החודש (הפרמטר השני en) || {{#זמןמ:M||en}} | | M|| השם האנגלי המקוצר של החודש (הפרמטר השני en) || {{#זמןמ:M||en}} | ||
|- | |- | ||
| F|| השם המלא של החודש|| {{#זמןמ:F}} | | F|| השם המלא של החודש|| {{#זמןמ:F}} | ||
|- | |- | ||
| F|| השם המלא של החודש (הפרמטר השני en)|| {{#זמןמ:F||en}} | | F|| השם המלא של החודש (הפרמטר השני en)|| {{#זמןמ:F||en}} | ||
|- | |- | ||
| xg|| שם עברי של חודש כולל האות "ב" בהתחלה|| {{#זמןמ:xg}} | | xg|| שם עברי של חודש כולל האות "ב" בהתחלה|| {{#זמןמ:xg}} | ||
|- | |- | ||
| W|| מספר סידורי של שבוע בשנה|| {{#זמןמ:W}} | | W|| מספר סידורי של שבוע בשנה|| {{#זמןמ:W}} | ||
|- | |- | ||
| j|| יום בחודש (1 עד 31)|| {{#זמןמ:j}} | | j|| יום בחודש (1 עד 31)|| {{#זמןמ:j}} | ||
|- | |- | ||
| d|| יום בחודש (01 עד 31)|| {{#זמןמ:d}} | | d|| יום בחודש (01 עד 31)|| {{#זמןמ:d}} | ||
|- | |- | ||
| z|| מספר של יום בשנה, החל מ-0|| {{#זמןמ:z}} | | z|| מספר של יום בשנה, החל מ-0|| {{#זמןמ:z}} | ||
|- | |- | ||
| D|| השם המקוצר של היום|| {{#זמןמ:D}} | | D|| השם המקוצר של היום|| {{#זמןמ:D}} | ||
|- | |- | ||
| D|| השם המקוצר של היום (הפרמטר השני en)|| {{#זמןמ:D||en}} | | D|| השם המקוצר של היום (הפרמטר השני en)|| {{#זמןמ:D||en}} | ||
|- | |- | ||
| l|| השם המלא של היום|| {{#זמןמ:l}} | | l|| השם המלא של היום|| {{#זמןמ:l}} | ||
|- | |- | ||
| l|| השם המלא של היום (הפרמטר השני en)|| {{#זמןמ:l||en}} | | l|| השם המלא של היום (הפרמטר השני en)|| {{#זמןמ:l||en}} | ||
|- | |- | ||
| w|| מספר של יום בשבוע, החל מ-מיום ראשון (0 עד 6)|| {{#זמןמ:w}} | | w|| מספר של יום בשבוע, החל מ-מיום ראשון (0 עד 6)|| {{#זמןמ:w}} | ||
|- | |- | ||
| N|| מספר של יום בשבוע, החל מיום שני (1 עד 7)|| {{#זמןמ:N}} | | N|| מספר של יום בשבוע, החל מיום שני (1 עד 7)|| {{#זמןמ:N}} | ||
|- | |- | ||
| a|| am או pm|| {{#זמןמ:a}} | | a|| am או pm|| {{#זמןמ:a}} | ||
|- | |- | ||
| A|| AM או PM|| {{#זמןמ:A}} | | A|| AM או PM|| {{#זמןמ:A}} | ||
|- | |- | ||
| g|| שעה (1 עד 12)|| {{#זמןמ:g}} | | g|| שעה (1 עד 12)|| {{#זמןמ:g}} | ||
|- | |- | ||
| h|| שעה (01 עד 12)|| {{#זמןמ:h}} | | h|| שעה (01 עד 12)|| {{#זמןמ:h}} | ||
|- | |- | ||
| G|| שעה (0 עד 23)|| {{#זמןמ:G}} | | G|| שעה (0 עד 23)|| {{#זמןמ:G}} | ||
|- | |- | ||
| H|| שעה (00 עד 23)|| {{#זמןמ:H}} | | H|| שעה (00 עד 23)|| {{#זמןמ:H}} | ||
|- | |- | ||
| i|| דקה|| {{#זמןמ:i}} | | i|| דקה|| {{#זמןמ:i}} | ||
|- | |- | ||
| s|| שנייה|| {{#זמןמ:s}} | | s|| שנייה|| {{#זמןמ:s}} | ||
|- | |- | ||
| U|| שניות שעברו מ-1 בינואר 1970|| {{#זמןמ:U}} | | U|| שניות שעברו מ-1 בינואר 1970|| {{#זמןמ:U}} | ||
|- | |- | ||
| e|| מזהה אזור זמן|| {{#זמןמ:e}} | | e|| מזהה אזור זמן|| {{#זמןמ:e}} | ||
|- | |- | ||
| I|| 1 אם יש שעון קיץ, 0 אחרת|| {{#זמןמ:I}} | | I|| 1 אם יש שעון קיץ, 0 אחרת|| {{#זמןמ:I}} | ||
|- | |- | ||
| O|| הבדל משעון גריניץ'|| {{משמאל לימין|{{#זמןמ:O}}}} | | O|| הבדל משעון גריניץ'|| {{משמאל לימין|{{#זמןמ:O}}}} | ||
|- | |- | ||
| P|| הבדל משעון גריניץ' כולל נקודתיים|| {{משמאל לימין|{{#זמןמ:P}}}} | | P|| הבדל משעון גריניץ' כולל נקודתיים|| {{משמאל לימין|{{#זמןמ:P}}}} | ||
|- | |- | ||
| T|| קיצור אזור זמן|| {{#זמןמ:T}} | | T|| קיצור אזור זמן|| {{#זמןמ:T}} | ||
|- | |- | ||
|Z||הפרש אזור זמן בשניות||{{#זמןמ:Z}} | |Z||הפרש אזור זמן בשניות||{{#זמןמ:Z}} | ||
שורה 427: | שורה 427: | ||
====דוגמאות==== | ====דוגמאות==== | ||
'''כתיבת תאריך לועזי מקוצר:''' <nowiki>{{#זמןמ:d-m-y}}</nowiki> '''תוצאה:''' {{#זמןמ:d-m-y}} | '''כתיבת תאריך לועזי מקוצר:''' <nowiki>{{#זמןמ:d-m-y}}</nowiki> '''תוצאה:''' {{#זמןמ:d-m-y}} | ||
'''כתיבת תאריך לועזי מלא:''' <nowiki>{{#זמןמ:d-M-Y}}</nowiki> '''תוצאה:''' {{#זמןמ:d-M-Y}} | '''כתיבת תאריך לועזי מלא:''' <nowiki>{{#זמןמ:d-M-Y}}</nowiki> '''תוצאה:''' {{#זמןמ:d-M-Y}} | ||
'''כתיבת תאריך לועזי מלא:''' <nowiki>{{#זמןמ:d-M-Y||en}}</nowiki> '''תוצאה:''' {{#זמןמ:d-M-Y||en}} | '''כתיבת תאריך לועזי מלא:''' <nowiki>{{#זמןמ:d-M-Y||en}}</nowiki> '''תוצאה:''' {{#זמןמ:d-M-Y||en}} | ||
'''כתיבת תאריך לועזי ושעה:''' <nowiki>{{#זמןמ:G:i:s - j/m/Y}}</nowiki> '''תוצאה:''' {{#זמןמ:G:i:s - j/m/Y}} | '''כתיבת תאריך לועזי ושעה:''' <nowiki>{{#זמןמ:G:i:s - j/m/Y}}</nowiki> '''תוצאה:''' {{#זמןמ:G:i:s - j/m/Y}} | ||
שורה 444: | שורה 444: | ||
=== זמן === | === זמן === | ||
הפונקציה הזו היא בדיוק כמו זמןמ, אבל משתמשת בשעון | הפונקציה הזו היא בדיוק כמו זמןמ, אבל משתמשת בשעון UTC. | ||
* '''שם עברי:''' #זמן | * '''שם עברי:''' #זמן | ||
שורה 502: | שורה 502: | ||
* אין להשוות ביטויים שכוללים תגים, כמו nowiki או #תגית, כי עלולות להתקבל תוצאות שגויות. | * אין להשוות ביטויים שכוללים תגים, כמו nowiki או #תגית, כי עלולות להתקבל תוצאות שגויות. | ||
* יש להשוות בזהירות ביטויים הכוללים מילות קסם, כי הם עלולים להכיל קידוד התווים במקום התווים עצמם. | * יש להשוות בזהירות ביטויים הכוללים מילות קסם, כי הם עלולים להכיל קידוד התווים במקום התווים עצמם. | ||
* כאשר נדרש [[ | * כאשר נדרש [[תבנית:רווח|רווח]] בתחילתה או בסופה של תוצאת התנאי, יש ליצור אותו באמצעות {{תב|רווח קל}}, משום שבמצב זה הוראת התנאי מתעלמת מרווח רגיל. | ||
== ראו גם == | |||
* [[עזרה:מילות מפתח]] | |||
[[קטגוריה:חב"דפדיה - תמיכה טכנית|הוראות תנאי]] | [[קטגוריה:חב"דפדיה - תמיכה טכנית|הוראות תנאי]] |
גרסה אחרונה מ־13:04, 6 ביולי 2023
הוראות תנאי (|ParserFunctions) הן הוראות שמאפשרות ליצור תבניות מתוחכמות המבצעות פעולות מתמטיות ולוגיות שונות הכוללות את הפונקציות "#חשב", "#תנאי", "#שווה", "בדיקת שגיאה", "#חשב תנאי", "#בחר", "#קיים", "#זמןמ", "#זמן" "כתובת הדף" ו"חלוקת הכתובת". ניתן להשתמש גם בשמן הלועזי של הפונקציות, אך עדיף להשתמש בשמות העבריים.
תחביר הפונקציות הוא {{#שם הפונקציה:פרמטרים המופרדים בסימן|ביניהם}}.
הפונקציות[עריכת קוד מקור]
חשב[עריכת קוד מקור]
הפונקציה הזו מאפשרת לחשב ביטויים מתמטיים ולוגיים. הפונקציה מוציאה הודעת שגיאה בחלוקות ב־0 וכדומה. בביטויים הלוגיים 0 הוא ערך שקר, כל ביטוי לא ריק אחר (כשברירת המחדל היא 1) הוא ערך אמת.
- שם עברי: #חשב
- שם אנגלי: #expr
- תחביר: {{#חשב:החישוב}}
אופרטורים זמינים:
אופרטור | פעולה | קוד לדוגמה | תוצאה |
---|---|---|---|
הצגת המספרים | {{#חשב:25}} {{#חשב:123456789012345}} {{#חשב:0.000001}} |
25 1.2345678901234E+14 1.0E-6 | |
( ) | קיבוץ פעולות | {{#חשב:(30 + 7) * 7}} | 259 |
+ | מספר חיובי | {{#חשב:+30 * +7}} | 210 |
- | מספר שלילי | {{#חשב:-30 * -7}} | 210 |
* | כפל | {{#חשב:30 * 7}} | 210 |
/ | חילוק, זהה ל־div | {{#חשב:30 / 7}} | 4.2857142857143 |
div | חילוק, זהה ל־/ (ללא חלוקת מספרים שלמים) | {{#חשב:30 div 7}} | 4.2857142857143 |
mod | "מודולוס", השארית של החלוקה לאחר הפיכת שני המספרים למספרים שלמים. אזהרה: div ו־mod שונים מרוב שפות התכנות. |
{{#חשב:30 mod 7}} {{#חשב:-8 mod -3}} {{#חשב:-8 mod +3}} {{#חשב:8 mod 2.7}} {{#חשב:8 mod 3.2}} {{#חשב:8.9 mod 3}} {{#חשב:5 div 2 * 2 + 5 mod 2}} |
2 -2 -2 0 2 2 6 |
+ | חיבור | {{#חשב:30 + 7}} | 37 |
- | חיסור | {{#חשב:30 - 7}} | 23 |
^ | חזקה | {{#חשב:2 ^ 5}} | 32 |
round | מעגל את המספר הראשון למספר השני של הספרות אחרי הנקודה. אם יש חלק דצימלי במספר השני, הוא לא יילקח בחשבון. |
{{#חשב:30 / 7 round 3}} {{#חשב:30 / 7 round 0}} {{#חשב:3456 round -2}} |
4.286 4 3500 |
ceil | מעגל את המספר כלפי מעלה | {{#חשב:ceil 3.5}} {{#חשב:ceil -3.5}} |
4 -3 |
floor | מעגל את המספר כלפי מטה | {{#חשב:floor 3.5}} {{#חשב:floor -3.5}} |
3 -4 |
trunc | מוחק את החלק הדצימלי של המספר | {{#חשב:trunc 3.5}} {{#חשב:trunc -3.5}} |
3 -3 |
= | שוויון (מספרי ולוגי) | {{#חשב:30 = 7}} | 0 |
<> | אי־שוויון, זהה ל־!= | {{#חשב:30 <> 7}} | 1 |
!= | אי־שוויון, זהה ל־<>, "XOR" לוגי | {{#חשב:1 != 0}} | 1 |
< | קטן מ־ | {{#חשב:30 < 7}} | 0 |
> | גדול מ־ | {{#חשב:30 > 7}} | 1 |
<= | קטן מ־ או שווה ל־ | {{#חשב:30 <= 7}} | 0 |
>= | גדול מ־ או שווה ל־ | {{#חשב:30 >= 7}} | 1 |
not | אופרטור "NOT" לוגי | {{#חשב:not 0 * 7}} {{#חשב:not 30 + 7}} |
7 7 |
and | "AND" לוגי | {{#חשב:4 < 5 and 4 mod 2}} | 0 |
or | "OR" לוגי | {{#חשב:4 < 5 or 4 mod 2}} | 1 |
e | e | {{#חשב:e}} | 2.718281828459 |
pi | pi | {{#חשב:pi}} | 3.1415926535898 |
כמו כן, ניתן להשתמש בפונקציות אונאריות abs ,exp ,ln ,sin ,cos ,tan ,acos ,asin ,atan.
ניתן להשתמש בהוראה זו גם לדיכוי אפסים מובילים. דוגמה: {{#חשב:007}}. תוצאה: 7.
תנאי[עריכת קוד מקור]
הפונקציה הזו מאפשרת בחירה בין שתי אפשרויות: אם ביטוי שהועבר כולל לא רק שטח ריק (כלומר רווחים, שורות ריקות וכדומה), היא מחזירה משהו אחד; אם לא, היא מחזירה משהו אחר.
- שם עברי: #תנאי
- שם אנגלי: #if
- תחביר: {{#תנאי:הביטוי לבדיקה|מה לכתוב אם הביטוי קיים|מה לכתוב אם הביטוי אינו קיים}}
הפונקציה נמצאת בשימוש בעיקר בתבניות, כדי לבדוק האם הועבר להן פרמטר מסוים, אך ייתכנו שימושים נוספים רבים.
הפונקציה אינה מחשבת את הביטוי שהועבר לה; לשם כך קיימת הפונקציה "#חשב תנאי".
אם רוצים רק לבדוק האם הועבר לתבנית פרמטר מסוים, אם כן להדפיסו, ואם לא להדפיס ערך אחר, עדיף להשתמש בצורת הכתיבה: {{{שם הפרמטר|ערך ברירת המחדל}}} (למשל {{{3|שלום}}}), ולא בצורה הארוכה יותר {{#תנאי:{{{שם הפרמטר|}}}|{{{שם הפרמטר}}}|ערך ברירת המחדל}}. לעומת זאת, אם רוצים להדפיס בנוסף לפרמטר גם משהו אחר אם הוא קיים, יש להשתמש ב"תנאי".
ניתן לקנן ביטויי תנאי, בדרך כלל עד שבע רמות.
דוגמאות[עריכת קוד מקור]
כתיבה: {{#תנאי: |אמת|שקר}} ← תוצאה: שקר
כתיבה: {{#תנאי:1=9|אמת|שקר}} ← תוצאה: אמת
שווה[עריכת קוד מקור]
הפונקציה הזו היא כמו "#תנאי", אך היא בוררת בין האפשרויות על בסיס השוואה בין שני ביטויים שהועברו לה. במידה ושני הביטויים אריתמטיים, גם ההשוואה היא כזאת, כלומר 1=01. כדי לפרש מספרים כמחרוזות, יש להשתמש בגרשיים כפולים: "01".
- שם עברי: #שווה
- שם אנגלי: #ifeq
- תחביר: {{#שווה:הביטוי הראשון להשוואה|הביטוי השני להשוואה|מה לכתוב אם הביטויים שווים|מה לכתוב אם הביטויים אינם שווים}}
השוואה תגיות XML תגרום לתוצאה שגויה.
דוגמאות[עריכת קוד מקור]
כתיבה: {{#שווה:A|A|שתי האותיות שוות|שתי האותיות שונות}}
תוצאה: שתי האותיות שוות
כתיבה: {{#שווה:a|A|שתי האותיות שוות|שתי האותיות שונות}}
תוצאה: שתי האותיות שונות
בדיקת שגיאה[עריכת קוד מקור]
הפונקציה בודקת האם הביטוי שהתקבל הינו שגיאה. במידה וכן, מוחזר הפרמטר הראשון (או ריק כברירת מחדל), אחרת הפרמטר השני (או הביטוי עצמו כברירת מחדל).
- שם אנגלי: #iferror
- תחביר: {{#iferror:הביטוי הנבדק|מה לכתוב אם יש שגיאה|מה לכתוב אם אין שגיאה}}
דוגמאות[עריכת קוד מקור]
כתיבה: {{#iferror:{{#חשב:3+X}}|טעות|נכון}}
תוצאה: טעות
כתיבה: {{#iferror:{{#חשב:3+5}}|טעות|נכון}}
תוצאה: נכון
כתיבה: {{#iferror:{{#חשב:3+5}}|טעות}}
תוצאה: 8
חשב תנאי[עריכת קוד מקור]
הפונקציה הזו היא כמו "#תנאי", אך בוררת בין האפשרויות על בסיס בדיקה האם החישוב שהועבר לה (הנכתב בתחביר זהה לזה של הפונקציה "#חשב") קיים (כלומר לא 0), או לא.
- שם עברי: #חשב תנאי
- שם אנגלי: #ifexpr
- תחביר: {{#חשב תנאי:החישוב|מה לכתוב אם תוצאת החישוב שונה מ-0|מה לכתוב אם תוצאת החישוב 0}}
דוגמה[עריכת קוד מקור]
בחישוב תנאי בדוגמה נעשה שימוש בפקודה {{#זמןמ:w}} שמחזירה את היום בשבוע, בין 0 ל־6.
כתיבה: {{#חשב תנאי:{{#זמןמ:w}}+1=6|היום יום ששי, זה הזמן לעשות סידורים.| היום יום עבודה רגיל או יום שבת.}}
תוצאה: היום יום ששי, זה הזמן לעשות סידורים.
בחר[עריכת קוד מקור]
הפונקציה הזו מאפשרת לבחור בין כמה אפשרויות, על בסיס בדיקת ערכו של ביטוי שהועבר. למשל, ניתן לקבוע מה לכתוב כשיש ערכים שונים לפרמטר.
- שם עברי: #בחר
- שם אנגלי: #switch
הפונקציה נכתבת באופן הבא:
{{#בחר:הביטוי לבדיקה|
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|
#ברירת מחדל=מה לכתוב אם ערך הביטוי אינו אחד הערכים שנכתבו לעיל}}
אם הביטוי לבדיקה והערך שיש להשוותו שניהם מספרים, ההשוואה היא מספרית, כלומר 01 שווה ל-1.
ערך לדוגמה יכול להיות ריק ("|=
"), והוא נקרא כמחרוזת ריקה.
במידה וכמה ערכים מתאימים, רק הראשון תופס.
ניתן להשמיט את סימן ה-=
ואת התוצאה לאחריו, אז יוחזר הביטוי הבא (ראו דוגמאות בסוף). כך ניתן לקבץ אפשרויות.
השם האנגלי של "#ברירת מחדל
" הוא #default
, וגם בו ניתן להשתמש. ניתן גם להשמיטו, ואז לא נכתב כלום אם הביטוי הוא לא אחד מהערכים הנ"ל.
ניתן למקם את ברירת המחדל בכל מקום בביטוי, לא רק בסוף.
ניתן לרשום ברירת מחדל ללא #ברירת מחדל=
וגם ללא #default=
כאשר מוסיפים קו חוצץ, כך:
{{#בחר:הביטוי לבדיקה|
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|מה לכתוב אם ערך הביטוי אינו אחד הערכים שנכתבו לעיל}}
כל שימוש בסימן "=" בפעולה הזאת שלא כחלק מהתחביר הנ"ל חייב להיות מוחלף ב{{=}}.
ניתן כמובן להשתמש בכמה ערכים אפשריים של הביטוי שרוצים – ניתן להשתמש בערך אחד, ולעומת זאת ניתן להשתמש במאה ערכים. (השימוש בערך אחד בלבד אינו מומלץ, שכן לשם כך בדיוק קיימת הפונקציה "#שווה".)
אחד השימושים בתבנית הוא כדי לבדוק את ערכו של פרמטר מסוים שהועבר לתבנית ולהחזיר ערך על בסיסו, ואפשר גם להשתמש בתבנית כדי לקבל ערך שונה כשמשתנה מערכת משתנה, למשל כשהיום משתנה, או החודש משתנה.
ההוראה מקבילה ל #שווה מקונן ועדיפה על פניה בגלל אורכה הקצר.
דוגמאות[עריכת קוד מקור]
כתיבה: {{#בחר:2|1=תשרי|2=חשון|3=כסלו|4=טבת|5=שבט|6=אדר|7=ניסן|8=אייר|9=סיוון|10=תמוז|11=אב|12=אלול}}
תוצאה: חשון
כתיבה: {{#בחר:2|1=תשרי|2=חשון|3=כסלו|4|5|6=אדר|7=ניסן|8=אייר|9=סיוון|10=תמוז|11=אב|12=אלול}}
תוצאה: חשון
קיים[עריכת קוד מקור]
הפונקציה הזו היא כמו "#תנאי", אך בוררת בין האפשרויות על בסיס בדיקה האם שם הדף שהועבר לה קיים, או לא.
- שם עברי: #קיים
- שם אנגלי: #ifexist
- תחביר: {{#קיים:שם הדף|מה לכתוב אם הדף קיים|מה לכתוב אם הדף אינו קיים}}
את שם הדף לבדיקה יש לכתוב ללא סוגריים מרובעים.
ניתן להשתמש בתבנית, למשל, כדי להציג קישור לערך רק אם הוא קיים.
הדף קיים אם היה אפשר לכתוב אותו באמצעות קישור פנימי שהיה הופך לכחול. גם דפים שלא קיימים פיזית אך ניתנים לגישה, כמו הרחבות מדיה-וויקי נחשבות לקיימות.
לבדיקת קיום תמונה יש להשתמש במרחב השם "media". מרחבי השם "קובץ" או "תמונה" יבדקו את קיומו של התאור המקומי בלבד.
יש להכניס מספר קטן ככל האפשר של פעולות "קיים" לדף אחד. אחרת, הן מפסיקות לפעול והדף מקוטלג אוטומטית לקטגוריה:דפים עם יותר מדי קריאות למשתנים הגוזלים משאבים.
דוגמה[עריכת קוד מקור]
כתיבה: {{#קיים:אריה|הערך אריה קיים. כדאי לבדוק אם הוא טעון הרחבה.|הערך אריה לא קיים. יש לך הזדמנות לפתוח אותו.}}
תוצאה: הערך אריה קיים. כדאי לבדוק אם הוא טעון הרחבה.
זמןמ[עריכת קוד מקור]
הפונקציה הזו מאפשרת גישה למערכת הזמן, בדרך כלל כדי לקבל את הזמן הנוכחי. היא עובדת בשעון הוויקי, ובמקרה של האתרים העבריים - בשעון ישראל. ראו גם {{זמןמ}} המרחיבה את הפונקציה הזאת עבור קלט של תאריך לועזי בעברית ותאריך עברי.
- שם עברי: #זמןמ
- שם אנגלי: #timel
- תחביר: {{#זמןמ:תבנית להצגת הזמן|התאריך שיש לעבוד עליו|קוד שפה}}
הפרמטר השני אינו חובה, ובו ניתן לציין תאריך ושעה שיש להשתמש בהם (לדוגמה, להציג את הזמן כפי שהיה לפני 24 שעות). ערך ברירת המחדל שלו הוא {{CURRENTTIMESTAMP}}, כלומר הזמן בו העמוד נטען בפעם האחרונה.
התאריך העברי מתחלף בחצות.
תוספת xh לפני כל קוד הופכת אותו למבוטא בספרות עבריות.
הפרמטר השני יכול להיות יחסי, למשל "- 5 days".
כדי לשים בפורמט טקסט חופשי, ניתן להשתמש במרכאות. למשל, {{#זמןמ:year Y}} יחזיר 24Asia/JerusalemamFri, 29 Nov 2024 09:11:18 +0200 2024, {{#זמןמ:"year" Y}} יחזיר year 2024. כמו כן, xx יחזיר x.
הפרמטר השלישי הוא קוד השפה בה יש להציג את התוצאה, כשברירת המחדל היא he.
ראו גם עזרה:מילות מפתח#משתני זמן.
פורמט | הסבר | ערך נוכחי |
---|---|---|
Y | שנה מלאה | 2024 |
y | שנה קצרה | 24 |
L | 1 אם שנה לועזית מעוברת, 0 אחרת | 1 |
n | מספר חודש (1 עד 12) | 11 |
m | מספר חודש (01 עד 12) | 11 |
M | השם המקוצר של החודש | נוב' |
M | השם האנגלי המקוצר של החודש (הפרמטר השני en) | Nov |
F | השם המלא של החודש | נובמבר |
F | השם המלא של החודש (הפרמטר השני en) | November |
xg | שם עברי של חודש כולל האות "ב" בהתחלה | בנובמבר |
W | מספר סידורי של שבוע בשנה | 48 |
j | יום בחודש (1 עד 31) | 29 |
d | יום בחודש (01 עד 31) | 29 |
z | מספר של יום בשנה, החל מ-0 | 333 |
D | השם המקוצר של היום | ו' |
D | השם המקוצר של היום (הפרמטר השני en) | Fri |
l | השם המלא של היום | שישי |
l | השם המלא של היום (הפרמטר השני en) | Friday |
w | מספר של יום בשבוע, החל מ-מיום ראשון (0 עד 6) | 5 |
N | מספר של יום בשבוע, החל מיום שני (1 עד 7) | 5 |
a | am או pm | am |
A | AM או PM | AM |
g | שעה (1 עד 12) | 9 |
h | שעה (01 עד 12) | 09 |
G | שעה (0 עד 23) | 9 |
H | שעה (00 עד 23) | 09 |
i | דקה | 11 |
s | שנייה | 18 |
U | שניות שעברו מ-1 בינואר 1970 | 1732864278 |
e | מזהה אזור זמן | Asia/Jerusalem |
I | 1 אם יש שעון קיץ, 0 אחרת | 0 |
O | הבדל משעון גריניץ' | +0200 |
P | הבדל משעון גריניץ' כולל נקודתיים | +02:00 |
T | קיצור אזור זמן | IST |
Z | הפרש אזור זמן בשניות | 7200 |
t | מספר ימים בחודש נוכחי | 30 |
c | זמן מפורמט במספרים באנגלית | 2024-11-29T09:11:18+02:00 |
r | זמן מפורמט במילים באנגלית | Fri, 29 Nov 2024 09:11:18 +0200 |
xjj | יום בחודש עברי | 28 |
xhxjj | יום בחודש עברי באותיות עבריות | כ"ח |
xjF | חודש עברי | חשוון |
xjt | מספר ימים בחודש עברי | 30 |
xjx | חודש עברי בסמיכות | בחשוון |
xjn | מספר חודש עברי | 2 |
xjY | שנה עברית | 5785 |
xhxjY | שנה עברית באותיות עבריות | ה'תשפ"ה |
דוגמאות[עריכת קוד מקור]
כתיבת תאריך לועזי מקוצר: {{#זמןמ:d-m-y}} תוצאה: 29-11-24
כתיבת תאריך לועזי מלא: {{#זמןמ:d-M-Y}} תוצאה: 29-נוב'-2024
כתיבת תאריך לועזי מלא: {{#זמןמ:d-M-Y||en}} תוצאה: 29-Nov-2024
כתיבת תאריך לועזי ושעה: {{#זמןמ:G:i:s - j/m/Y}} תוצאה: 9:11:18 - 29/11/2024
כתיבת תאריך לועזי ושעה בעוד 3 שעות: {{#זמןמ:G:i:s - j/m/Y|+ 3 hours}} תוצאה: 12:11:18 - 29/11/2024
כתיבת תאריך עברי: {{#זמןמ:xhxjj xjx xhxjY}} תוצאה: כ"ח בחשוון ה'תשפ"ה
המרת תאריך לועזי לתאריך עברי: {{#זמןמ:xhxjj xjx xhxjY|31-08-1973}} תוצאה: ג' באלול ה'תשל"ג
הטווח המורשה לתאריכים הוא 1 בינואר 0111 עד 31 בדצמבר 9999. שנה 10 תקרא כ-2010.
זמן[עריכת קוד מקור]
הפונקציה הזו היא בדיוק כמו זמןמ, אבל משתמשת בשעון UTC.
- שם עברי: #זמן
- שם אנגלי: #time
- תחביר: {{#זמן:תבנית להצגת הזמן|התאריך שיש לעבוד עליו|קוד השפה}}
ברוב המקרים מומלץ להשתמש בפונקציה זמןמ.
כתובת הדף[עריכת קוד מקור]
הפונקציה הזאת הופכת כתובת יחסית של דף לכתובת שלמה. אם אין פרמטר המציין את הדף, ברירת המחדל היא הדף הנוכחי.
- שם אנגלי: #rel2abs
- תחביר: {{#rel2abs:כתובת הדף}}
דוגמה[עריכת קוד מקור]
כתיבה: {{#rel2abs:.}}
תוצאה: עזרה:הוראות תנאי
חלוקת הכתובת[עריכת קוד מקור]
הפונקציה הזאת מחזירה חלק מכתובת הדף שניתנה כפרמטר.
- שם אנגלי: #titleparts
- תחביר: {{#titleparts:כתובת הדף|כמה חלקים להחזיר|מספר סידורי של החלק הראשון}}
שני הפרמטרים הם אופציונליים. סימני _ הופכים לרווחים. עומק החלוקה הוא עד 25, עבור יתר ניתן לעשות קריאה נוספת. לפני הקריאה, הקלט עובר החלפה אוטומטית של אות ראשונה לראשית, במידה והיא לועזית. סימני סוגריים מסולסלים או מרובעים, או סולמית, בקלט יגרמו לתוצאה שגויה.
דוגמאות[עריכת קוד מקור]
{{#titleparts:Talk:דף1/דף3/דף5/דף9}} ← שיחה:דף1/דף3/דף5/דף9
{{#titleparts: Talk:דף1/דף3/דף5/דף9 | 1}} ← שיחה:דף1
{{#titleparts: Talk:דף1/דף3/דף5/דף9 | 2}} ← שיחה:דף1/דף3
{{#titleparts: Talk:דף1/דף3/דף5/דף9 | 2 | 2}} ← דף3/דף5
{{#titleparts: Talk:דף1/דף3/דף5/דף9 | | 2}} ← דף3/דף5/דף9
{{#titleparts: Talk:דף1/דף3/דף5/דף9 | -1}} ← שיחה:דף1/דף3/דף5
{{#titleparts: Talk:דף1/דף3/דף5/דף9 | -3}} ← שיחה:דף1
{{#titleparts: Talk:דף1/דף3/דף5/דף9 | -4}} ←
{{#titleparts: Talk:דף1/דף3/דף5/דף9 | | -1}} ← דף9
{{#titleparts: Talk:דף1/דף3/דף5/דף9 | -1 | 2}} ← דף3/דף5
{{#titleparts: Talk:דף1/דף3/דף5/דף9 | -1 | -2}} ← דף5
הערות[עריכת קוד מקור]
- במידה ואתם משתמשים במספרים שבהם כל שלוש ספרות מופרדות בפסיקים, יש להוריד את הפסיקים הללו לפני החישוב, למשל {{formatnum:{{NUMBEROFUSERS}}|R}} (תוצאה: 4693).
- האופרטור mod יכול להחזיר ערך שגוי עבור ערכים מסויימים של הפרמטר השני. למשל, {{#חשב:3 mod 30000000000000000000}} מחזיר הודעת שגיאה של חלוקה באפס.
- אם אתם רוצים לבצע פעולות חשבון על תאריכים, יש להמיר אותם קודם למספר השניות שעברו מאז 1 בינואר 1970 באמצעות {{#זמן:U}}.
- לעתים כתוצאה מעיגול המספר יווצר "אפס שלילי". קיימת אפשרות שבהשוואה עם 0 תתקבל תשובה לא נכונה.
- לאופרטורים אונאריים יש עדיפות גבוהה יותר מאופרטורים בינאריים. לדוגמה, הביטוי {{#חשב:ceil 1/3}} יכול לתת תוצאה לא צפויה.
- אין להשוות ביטויים שכוללים תגים, כמו nowiki או #תגית, כי עלולות להתקבל תוצאות שגויות.
- יש להשוות בזהירות ביטויים הכוללים מילות קסם, כי הם עלולים להכיל קידוד התווים במקום התווים עצמם.
- כאשר נדרש רווח בתחילתה או בסופה של תוצאת התנאי, יש ליצור אותו באמצעות {{רווח קל}}, משום שבמצב זה הוראת התנאי מתעלמת מרווח רגיל.