עזרה:הוראות תנאי: הבדלים בין גרסאות בדף
אין תקציר עריכה |
Yeshivaorgil (שיחה | תרומות) מ (←בחר) |
||
(2 גרסאות ביניים של אותו משתמש אינן מוצגות) | |||
שורה 1: | שורה 1: | ||
''' ''' ( ParserFunctions) | '''הוראות תנאי''' (או ParserFunctions) הן הוראות שמאפשרות ליצור [[עזרה:תבניות|תבניות]] מתוחכמות המבצעות פעולות מתמטיות ולוגיות שונות הכוללות את הפונקציות "[[#חשב]]", "[[#תנאי]]", "[[#שווה]]", "[[#חשב תנאי]]", "[[#בחר]]", "[[#קיים]]", "[[#זמןמ]]", "[[#זמן]]" ומספר פעולות נוספות שלא נכללות בהסבר זה. ניתן לעשות שימוש גם בשמן הלועזי של הפונקציות, אם כי ויקישיבה דוגלת בשמות העבריים. | ||
תחביר הפונקציות הוא '''<nowiki>{{</nowiki>#שם הפונקציה:פרמטרים המופרדים בסימן<nowiki>|</nowiki> ביניהם}}'''. | |||
== | == הפונקציות == | ||
=== | === חשב === | ||
הפונקציה הזו מאפשרת לחשב ביטויים מתמטיים ולוגיים. הפונקציה מוציאה הודעת שגיאה בחלוקות ב־0 וכדומה. | |||
* ''' :''' # | * '''שם עברי:''' #חשב | ||
* ''' :''' #expr | * '''שם אנגלי:''' #expr | ||
* ''':''' <nowiki>{{</nowiki>#:}} | * '''תחביר:''' <nowiki>{{</nowiki>#חשב:החישוב}} | ||
אופרטורים זמינים: | |||
{| class="wikitable" cellspacing="0" | {| class="wikitable" cellspacing="0" | ||
|- | |- | ||
! | ! אופרטור | ||
! | ! פעולה | ||
! | ! קוד לדוגמה | ||
! | ! תוצאה | ||
|- | |- | ||
! | ! | ||
| | | הצגת המספרים | ||
| <nowiki>{{#:25}}</nowiki><br /><nowiki>{{#:123456789012345}}</nowiki><br /><nowiki>{{#:0.000001}}</nowiki> | | <nowiki>{{#חשב:25}}</nowiki><br /><nowiki>{{#חשב:123456789012345}}</nowiki><br /><nowiki>{{#חשב:0.000001}}</nowiki> | ||
| {{#:25}}<br />{{#:123456789012345}}<br />{{#:0.000001}} | | {{#חשב:25}}<br />{{#חשב:123456789012345}}<br />{{#חשב:0.000001}} | ||
|- | |- | ||
! ( ) | ! ( ) | ||
| | | קיבוץ פעולות | ||
| <nowiki>{{#:(30 + 7) * 7}}</nowiki> | | <nowiki>{{#חשב:(30 + 7) * 7}}</nowiki> | ||
| {{#:(30 + 7) * 7}} | | {{#חשב:(30 + 7) * 7}} | ||
|- | |- | ||
! + | ! + | ||
| | | מספר חיובי | ||
| <nowiki>{{#:+30 * +7}}</nowiki> | | <nowiki>{{#חשב:+30 * +7}}</nowiki> | ||
| {{#:+30 * +7}} | | {{#חשב:+30 * +7}} | ||
|- | |- | ||
! - | ! - | ||
| | | מספר שלילי | ||
| <nowiki>{{#:-30 * -7}}</nowiki> | | <nowiki>{{#חשב:-30 * -7}}</nowiki> | ||
| {{#:-30 * -7}} | | {{#חשב:-30 * -7}} | ||
|- | |- | ||
! not | ! not | ||
| | | אופרטור "NOT" לוגי | ||
| <nowiki>{{#:not 0 * 7}}</nowiki><br /><nowiki>{{#:not 30 + 7}}</nowiki> | | <nowiki>{{#חשב:not 0 * 7}}</nowiki><br /><nowiki>{{#חשב:not 30 + 7}}</nowiki> | ||
| {{#:not 0 * 7}}<br />{{#:not 30+7}} | | {{#חשב:not 0 * 7}}<br />{{#חשב:not 30+7}} | ||
|- | |- | ||
! * | ! * | ||
| | | כפל | ||
| <nowiki>{{#:30 * 7}}</nowiki> | | <nowiki>{{#חשב:30 * 7}}</nowiki> | ||
| {{#:30 * 7}} | | {{#חשב:30 * 7}} | ||
|- | |- | ||
! / | ! / | ||
| , | | חילוק, זהה ל־'''div''' | ||
| <nowiki>{{#:30 / 7}}</nowiki> | | <nowiki>{{#חשב:30 / 7}}</nowiki> | ||
| {{#:30 / 7}} | | {{#חשב:30 / 7}} | ||
|- | |- | ||
! div | ! div | ||
| , | | חילוק, זהה ל־'''/'''<br />ללא חלוקת מספרים שלמים | ||
| <nowiki>{{#:30 div 7}}</nowiki><br /><nowiki>{{#:5 div 2 * 2 + 5 mod 2}}</nowiki> | | <nowiki>{{#חשב:30 div 7}}</nowiki><br /><nowiki>{{#חשב:5 div 2 * 2 + 5 mod 2}}</nowiki> | ||
| {{#:30 div 7}}<br />{{#:5 div 2 * 2 + 5 mod 2}} | | {{#חשב:30 div 7}}<br />{{#חשב:5 div 2 * 2 + 5 mod 2}} | ||
|- | |- | ||
! mod | ! mod | ||
| "", | | "מודולוס", השארית של החלוקה לאחר הפיכת שני המספרים למספרים שלמים.<br />אזהרה: '''div''' ו־'''mod''' שונים מכל שפות התכנות. | ||
| <nowiki>{{#:30 mod 7}}</nowiki><br /><nowiki>{{#:-8 mod -3}}</nowiki><br /><nowiki>{{#:-8 mod +3}}</nowiki><br /><nowiki>{{#:8 mod 2.7}}</nowiki><br /><nowiki>{{#:8 mod 3.2}}</nowiki><br /><nowiki>{{#:8.9 mod 3}}</nowiki> | | <nowiki>{{#חשב:30 mod 7}}</nowiki><br /><nowiki>{{#חשב:-8 mod -3}}</nowiki><br /><nowiki>{{#חשב:-8 mod +3}}</nowiki><br /><nowiki>{{#חשב:8 mod 2.7}}</nowiki><br /><nowiki>{{#חשב:8 mod 3.2}}</nowiki><br /><nowiki>{{#חשב:8.9 mod 3}}</nowiki> | ||
| {{#:30 mod 7}}<br />{{#:-8 mod -3}}<br />{{#:-8 mod +3}}<br />{{#:8 mod 2.7}}<br />{{#:8 mod 3.2}}<br />{{#:8.9 mod 3}} | | {{#חשב:30 mod 7}}<br />{{#חשב:-8 mod -3}}<br />{{#חשב:-8 mod +3}}<br />{{#חשב:8 mod 2.7}}<br />{{#חשב:8 mod 3.2}}<br />{{#חשב:8.9 mod 3}} | ||
|- | |- | ||
! + | ! + | ||
| | | חיבור | ||
| <nowiki>{{#:30 + 7}}</nowiki> | | <nowiki>{{#חשב:30 + 7}}</nowiki> | ||
| {{#:30 + 7}} | | {{#חשב:30 + 7}} | ||
|- | |- | ||
! - | ! - | ||
| | | חיסור | ||
| <nowiki>{{#:30 - 7}}</nowiki> | | <nowiki>{{#חשב:30 - 7}}</nowiki> | ||
| {{#:30 - 7}} | | {{#חשב:30 - 7}} | ||
|- | |- | ||
! round | ! round | ||
| | | מעגל את המספר הראשון למספר השני של הספרות אחרי הנקודה | ||
| <nowiki>{{#:30 / 7 round 3}}</nowiki><br /><nowiki>{{#:30 / 7 round 0}}</nowiki><br /><nowiki>{{#:3456 round -2}}</nowiki> | | <nowiki>{{#חשב:30 / 7 round 3}}</nowiki><br /><nowiki>{{#חשב:30 / 7 round 0}}</nowiki><br /><nowiki>{{#חשב:3456 round -2}}</nowiki> | ||
| {{#:30 / 7 round 3}}<br />{{#:30 / 7 round 0}}<br />{{#:3456 round -2}} | | {{#חשב:30 / 7 round 3}}<br />{{#חשב:30 / 7 round 0}}<br />{{#חשב:3456 round -2}} | ||
|- | |- | ||
! = | ! = | ||
| | | שוויון (מספרי ולוגי) | ||
| <nowiki>{{#:<nowiki>30 = 7</nowiki>}}</nowiki> | | <nowiki>{{#חשב:<nowiki>30 = 7</nowiki>}}</nowiki> | ||
| {{#:30 = 7}} | | {{#חשב:30 = 7}} | ||
|- | |- | ||
! <> | ! <> | ||
| , | | אי־שוויון, זהה ל־'''!=''' | ||
| <nowiki>{{#:30 <> 7}}</nowiki> | | <nowiki>{{#חשב:30 <> 7}}</nowiki> | ||
| {{#:30 <> 7}} | | {{#חשב:30 <> 7}} | ||
|- | |- | ||
! != | ! != | ||
| , | | אי־שוויון, זהה ל־'''<>''', "XOR" לוגי | ||
| <nowiki>{{#:<nowiki>1 != 0</nowiki>}}</nowiki> | | <nowiki>{{#חשב:<nowiki>1 != 0</nowiki>}}</nowiki> | ||
| {{#:1 != 0}} | | {{#חשב:1 != 0}} | ||
|- | |- | ||
! < | ! < | ||
| | | קטן מ־ | ||
| <nowiki>{{#:30 < 7}}</nowiki> | | <nowiki>{{#חשב:30 < 7}}</nowiki> | ||
| {{#:30 < 7}} | | {{#חשב:30 < 7}} | ||
|- | |- | ||
! > | ! > | ||
| | | גדול מ־ | ||
| <nowiki>{{#:30 > 7}}</nowiki> | | <nowiki>{{#חשב:30 > 7}}</nowiki> | ||
| {{#:30 > 7}} | | {{#חשב:30 > 7}} | ||
|- | |- | ||
! <= | ! <= | ||
| | | קטן מ־ או שווה ל־ | ||
| <nowiki>{{#:30 <= 7}}</nowiki> | | <nowiki>{{#חשב:30 <= 7}}</nowiki> | ||
| {{#:30 <= 7}} | | {{#חשב:30 <= 7}} | ||
|- | |- | ||
! >= | ! >= | ||
| | | גדול מ־ או שווה ל־ | ||
| <nowiki>{{#:30 >= 7}}</nowiki> | | <nowiki>{{#חשב:30 >= 7}}</nowiki> | ||
| {{#:30 >= 7}} | | {{#חשב:30 >= 7}} | ||
|- | |- | ||
! and | ! and | ||
| "AND" | | "AND" לוגי | ||
| <nowiki>{{#:4 < 5 and 4 mod 2}}</nowiki> | | <nowiki>{{#חשב:4 < 5 and 4 mod 2}}</nowiki> | ||
| {{#:4 < 5 and 4 mod 2}} | | {{#חשב:4 < 5 and 4 mod 2}} | ||
|- | |- | ||
! or | ! or | ||
| "OR" | | "OR" לוגי | ||
| <nowiki>{{#:4 < 5 or 4 mod 2}}</nowiki> | | <nowiki>{{#חשב:4 < 5 or 4 mod 2}}</nowiki> | ||
| {{#:4 < 5 or 4 mod 2}} | | {{#חשב:4 < 5 or 4 mod 2}} | ||
|} | |} | ||
=== | === תנאי === | ||
הפונקציה הזו מאפשרת בחירה בין שתי אפשרויות: אם ביטוי שהועבר לה קיים (כלומר, לא ריק ולא 0), היא מחזירה משהו אחד; אם לא, היא מחזירה משהו אחר. | |||
* ''' :''' # | * '''שם עברי:''' #תנאי | ||
* ''' :''' #if | * '''שם אנגלי:''' #if | ||
* ''':''' <nowiki>{{</nowiki>#: | | * '''תחביר:''' <nowiki>{{</nowiki>#תנאי:הביטוי לבדיקה|מה לכתוב אם הביטוי קיים|מה לכתוב אם הביטוי אינו קיים}} | ||
הפונקציה נמצאת בשימוש בעיקר בתבניות, כדי לבדוק האם הועבר להן פרמטר מסוים, אך ייתכנו שימושים נוספים רבים. | |||
הפונקציה אינה מחשבת את הביטוי שהועבר לה; לשם כך קיימת הפונקציה "חשב תנאי". | |||
אם רוצים רק לבדוק האם הועבר לתבנית פרמטר מסוים, אם כן להדפיסו, ואם לא להדפיס ערך אחר, עדיף להשתמש בצורת הכתיבה: <nowiki>{{{שם הפרמטר|ערך ברירת המחדל}}}</nowiki>, ולא בצורה הארוכה יותר <nowiki>{{#תנאי:{{{שם הפרמטר|}}}|{{{שם הפרמטר}}}|ערך ברירת המחדל}}</nowiki>. לעומת זאת, אם רוצים להדפיס בנוסף לפרמטר גם משהו אחר אם הוא קיים, יש להשתמש ב"תנאי". | |||
======== | ====דוגמאות==== | ||
''':''' <nowiki>{{#: ||}}</nowiki> -->> ''':''' {{#: ||}} | '''כתיבה:''' <nowiki>{{#תנאי: |אמת|שקר}}</nowiki> -->> '''תוצאה:''' {{#תנאי: |אמת|שקר}} | ||
''':''' <nowiki>{{#:1=9||}}</nowiki> -->> ''':''' {{#:1=9||}} | '''כתיבה:''' <nowiki>{{#תנאי:1=9|אמת|שקר}}</nowiki> -->> '''תוצאה:''' {{#תנאי:1=9|אמת|שקר}} | ||
=== | === שווה === | ||
הפונקציה הזו היא כמו "#תנאי", אך היא בוררת בין האפשרויות על בסיס השוואה בין שני ביטויים שהועברו לה. | |||
* ''' :''' # | * '''שם עברי:''' #שווה | ||
* ''' :''' #ifeq | * '''שם אנגלי:''' #ifeq | ||
* ''':''' <nowiki>{{</nowiki>#: | * '''תחביר:''' <nowiki>{{</nowiki>#שווה:הביטוי הראשון להשוואה|הביטוי השני להשוואה|מה לכתוב אם הביטויים שווים|מה לכתוב אם הביטויים אינם שווים}} | ||
======== | ====דוגמאות==== | ||
''':''' <nowiki>{{#: || | '''כתיבה:''' <nowiki>{{#שווה: נ|נ|שתי האותיות שוות|שתי האותיות שונות}}</nowiki> | ||
''':''' {{#: A|A| | '''תוצאה:''' {{#שווה: A|A|שתי האותיות שוות|שתי האותיות שונות}} | ||
''':''' <nowiki>{{#: || | '''כתיבה:''' <nowiki>{{#שווה: נ|פ|שתי האותיות שוות|שתי האותיות שונות}}</nowiki> | ||
''':''' {{#: a|A| | '''תוצאה:''' {{#שווה: a|A|שתי האותיות שוות|שתי האותיות שונות}} | ||
=== | === חשב תנאי === | ||
הפונקציה הזו היא כמו "#תנאי", אך בוררת בין האפשרויות על בסיס בדיקה האם החישוב שהועבר לה (הנכתב בתחביר זהה לזה של הפונקציה "#חשב") קיים (כלומר לא 0), או לא. | |||
* ''' :''' # | * '''שם עברי:''' #חשב תנאי | ||
* ''' :''' #ifexpr | * '''שם אנגלי:''' #ifexpr | ||
* ''':''' <nowiki>{{</nowiki># :| | * '''תחביר:''' <nowiki>{{</nowiki>#חשב תנאי:החישוב|מה לכתוב אם החישוב קיים|מה לכתוב אם החישוב אינו קיים}} | ||
======== | ====דוגמה==== | ||
בחישוב תנאי בדוגמה נעשה נעשה שימוש בפקודה <nowiki>{{#זמןמ:w}}</nowiki> שמחזירה את היום בשבוע, בין 0 ל6. | |||
''':''' <nowiki>{{# :{{#:w}}+1=6| | '''כתיבה:''' <nowiki>{{#חשב תנאי:{{#זמןמ:w}}+1=6|היום יום ששי, הגיע הזמן להתכונן לשבת.| היום יום עבודה רגיל או שבת קדש.}}</nowiki> | ||
''':''' {{# :{{#:w}}+1=6| | '''תוצאה:''' {{#חשב תנאי:{{#זמןמ:w}}+1=6|היום יום ששי, הגיע הזמן להתכונן לשבת.| היום יום עבודה רגיל או שבת קדש.}} | ||
=== | === בחר === | ||
הפונקציה הזו מאפשרת לבחור בין כמה אפשרויות, על בסיס בדיקת ערכו של ביטוי שהועבר. למשל, ניתן לקבוע מה לכתוב כשיש ערכים שונים לפרמטר. | |||
* ''' :''' # | * '''שם עברי:''' #בחר | ||
* ''' :''' #switch | * '''שם אנגלי:''' #switch | ||
הפונקציה נכתבת באופן הבא: | |||
<nowiki>{{</nowiki>#: |<br /> | <nowiki>{{</nowiki>#בחר:הביטוי לבדיקה|<br /> | ||
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|<br /> | |||
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|<br /> | |||
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|<br /> | |||
<nowiki>#</nowiki> = | <nowiki>#</nowiki>ברירת מחדל=מה לכתוב אם ערך הביטוי אינו אחד הערכים שנכתבו לעיל}} | ||
השם האנגלי של "#ברירת מחדל" הוא #default, וגם בו ניתן להשתמש. ניתן גם להשמיטו, ואז לא נכתב כלום אם הביטוי הוא לא אחד מהערכים הנ"ל. | |||
ניתן לרשום ברירת מחדל ללא #default=/#ברירת מחדל= כאשר מוסיפים קו חוצץ, כך: | |||
<nowiki>{{</nowiki>#: |<br /> | <nowiki>{{</nowiki>#בחר:הביטוי לבדיקה|<br /> | ||
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|<br /> | |||
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|מה לכתוב אם ערך הביטוי אינו אחד הערכים שנכתבו לעיל}} | |||
יש אפשרות ליצור תוצאה מסויימת גם עבור כמה ערכים. כלומר, לתת תוצאה מסויימת, זהה, עבור כמה ערכים. צורת הכתיבה היא כזו:{{ש}} | |||
<nowiki>{{</nowiki>#בחר:הביטוי לבדיקה|<br /> | |||
ערך1|<br /> | |||
ערך2|<br /> | |||
ערך3=מה לכתוב אם ערך הביטוי שווה לערכים 1, 2 או 3|<br /> | |||
ערך4=מה לכתוב אם זהו ערך הביטוי}} | |||
ניתן כמובן להשתמש בכמה ערכים אפשריים של הביטוי שרוצים – ניתן להשתמש בערך אחד, ולעומת זאת ניתן להשתמש במאה ערכים. (השימוש בערך אחד בלבד אינו מומלץ, שכן לשם כך בדיוק קיימת הפונקציה "#שווה".) | |||
אחד השימושים בתבנית הוא כדי לבדוק את ערכו של פרמטר מסוים שהועבר לתבנית ולהחזיר ערך על בסיסו, ואפשר גם להשתמש בתבנית כדי לקבל ערך שונה כשמשתנה מערכת משתנה, למשל כשהיום משתנה, או החודש משתנה. | |||
ההוראה מקבילה ל #שווה בתוך #שווה ועדיפה על פניה בגלל אורכה הקצר. | |||
======== | ====דוגמה==== | ||
''':''' <nowiki>{{#:{{#:xjn}}|1=|2=|3=|4=|5=|6=|7=|8=|9=|10=|11=|12=}}</nowiki> | '''כתיבה:''' <nowiki>{{#בחר:{{#זמןמ:xjn}}|1=תשרי|2=חשון|3=כסלו|4=טבת|5=שבט|6=אדר|7=ניסן|8=אייר|9=סיוון|10=תמוז|11=אב|12=אלול}}</nowiki> | ||
''':''' {{#:{{#:xjn}}|1=|2=|3=|4=|5=|6=|7=|8=|9=|10=|11=|12=}} | '''תוצאה:''' {{#בחר:{{#זמןמ:xjn}}|1=תשרי|2=חשון|3=כסלו|4=טבת|5=שבט|6=אדר|7=ניסן|8=אייר|9=סיוון|10=תמוז|11=אב|12=אלול}} | ||
=== | === קיים === | ||
הפונקציה הזו היא כמו "#תנאי", אך בוררת בין האפשרויות על בסיס בדיקה האם שם הדף שהועבר לה קיים, או לא. | |||
* ''' :''' # | * '''שם עברי:''' #קיים | ||
* ''' :''' #ifexist | * '''שם אנגלי:''' #ifexist | ||
* ''':''' <nowiki>{{</nowiki>#: | | * '''תחביר:''' <nowiki>{{</nowiki>#קיים:שם הדף|מה לכתוב אם הדף קיים|מה לכתוב אם הדף אינו קיים}} | ||
את שם הדף לבדיקה יש לכתוב '''ללא''' סוגריים מרובעות. | |||
ניתן להשתמש בתבנית, למשל, כדי להציג קישור לערך רק אם הוא קיים. | |||
======== | ====דוגמה==== | ||
''':''' <nowiki>{{#:| [[]] . | '''כתיבה:''' <nowiki>{{#קיים:אריה|הערך [[אריה]] קיים. כדאי לבדוק אם הוא טעון הרחבה.|הערך [[אריה]] לא קיים. יש לך הזדמנות לפתוח אותו.}}</nowiki> | ||
''':''' {{#:| [[]] . | '''תוצאה:''' {{#קיים:אריה|הערך [[אריה]] קיים. כדאי לבדוק אם הוא טעון הרחבה.|הערך [[אריה]] לא קיים. יש לך הזדמנות לפתוח אותו.}} | ||
=== | === זמןמ === | ||
הפונקציה הזו מאפשרת גישה למערכת הזמן, בדרך כלל כדי לקבל את הזמן הנוכחי. היא עובדת בשעון הוויקי, ובמקרה שלנו - בשעון ישראל. | |||
* ''' :''' # | * '''שם עברי:''' #זמןמ | ||
* ''' :''' #timel | * '''שם אנגלי:''' #timel | ||
* ''':''' <nowiki>{{</nowiki>#: | * '''תחביר:''' <nowiki>{{</nowiki>#זמןמ:תבנית להצגת הזמן|התאריך שיש לעבוד עליו}} | ||
התבניות הזמינות מפורטות [http://www.php.net/manual/en/function.date.php כאן], וניתן להשתמש גם בתבנית xg, שנותנת את צורת הקניין של החודש ("בינואר"), וכן xx לתו X רגיל. הפרמטר השני אינו חובה, ובו ניתן לציין תאריך ושעה שיש להשתמש בהם (לדוגמה, להציג את הזמן כפי שהיה לפני 24 שעות). | |||
====:==== | ====דוגמאות:==== | ||
''' | '''כתיבת תאריך לועזי מקוצר:''' <nowiki>{{#זמןמ:d-m-y}}</nowiki> -->> '''תוצאה:''' {{#זמןמ:d-m-y}} | ||
''' | '''כתיבת תאריך לועזי מלא:''' <nowiki>{{#זמןמ:r}}</nowiki> -->> '''תוצאה:''' {{#זמןמ:r}} | ||
''' | '''כתיבת יום בשבוע:''' <nowiki>{{#זמןמ:l}}</nowiki> -->> '''תוצאה:''' {{#זמןמ:l}} | ||
''' | '''כתיבת תאריך עברי (מתחלף בחצות):''' <nowiki>{{#זמןמ:xhxjj xjx xhxjY}}</nowiki> -->> '''תוצאה:''' {{#זמןמ:xhxjj xjx xhxjY}} | ||
=== | === זמן === | ||
הפונקציה הזו היא בדיוק כמו זמןמ, אבל משתמשת בשעון UTC. | |||
* ''' :''' # | * '''שם עברי:''' #זמן | ||
* ''' :''' #time | * '''שם אנגלי:''' #time | ||
* ''':''' <nowiki>{{</nowiki>#: | * '''תחביר:''' <nowiki>{{</nowiki>#זמןמ:תבנית להצגת הזמן|התאריך שיש לעבוד עליו}} | ||
ברוב המקרים מומלץ להשתמש בפונקציה זמןמ. | |||
גרסה אחרונה מ־18:18, 24 בדצמבר 2008
|
הוראות תנאי (או ParserFunctions) הן הוראות שמאפשרות ליצור תבניות מתוחכמות המבצעות פעולות מתמטיות ולוגיות שונות הכוללות את הפונקציות "#חשב", "#תנאי", "#שווה", "#חשב תנאי", "#בחר", "#קיים", "#זמןמ", "#זמן" ומספר פעולות נוספות שלא נכללות בהסבר זה. ניתן לעשות שימוש גם בשמן הלועזי של הפונקציות, אם כי ויקישיבה דוגלת בשמות העבריים.
תחביר הפונקציות הוא {{#שם הפונקציה:פרמטרים המופרדים בסימן| ביניהם}}.
הפונקציות[עריכה]
חשב[עריכה]
הפונקציה הזו מאפשרת לחשב ביטויים מתמטיים ולוגיים. הפונקציה מוציאה הודעת שגיאה בחלוקות ב־0 וכדומה.
- שם עברי: #חשב
- שם אנגלי: #expr
- תחביר: {{#חשב:החישוב}}
אופרטורים זמינים:
אופרטור | פעולה | קוד לדוגמה | תוצאה |
---|---|---|---|
הצגת המספרים | {{#חשב:25}} {{#חשב:123456789012345}} {{#חשב:0.000001}} |
25 1.2345678901234E+14 1.0E-6 | |
( ) | קיבוץ פעולות | {{#חשב:(30 + 7) * 7}} | 259 |
+ | מספר חיובי | {{#חשב:+30 * +7}} | 210 |
- | מספר שלילי | {{#חשב:-30 * -7}} | 210 |
not | אופרטור "NOT" לוגי | {{#חשב:not 0 * 7}} {{#חשב:not 30 + 7}} |
7 7 |
* | כפל | {{#חשב:30 * 7}} | 210 |
/ | חילוק, זהה ל־div | {{#חשב:30 / 7}} | 4.2857142857143 |
div | חילוק, זהה ל־/ ללא חלוקת מספרים שלמים |
{{#חשב:30 div 7}} {{#חשב:5 div 2 * 2 + 5 mod 2}} |
4.2857142857143 6 |
mod | "מודולוס", השארית של החלוקה לאחר הפיכת שני המספרים למספרים שלמים. אזהרה: div ו־mod שונים מכל שפות התכנות. |
{{#חשב:30 mod 7}} {{#חשב:-8 mod -3}} {{#חשב:-8 mod +3}} {{#חשב:8 mod 2.7}} {{#חשב:8 mod 3.2}} {{#חשב:8.9 mod 3}} |
2 -2 -2 0 2 2 |
+ | חיבור | {{#חשב:30 + 7}} | 37 |
- | חיסור | {{#חשב:30 - 7}} | 23 |
round | מעגל את המספר הראשון למספר השני של הספרות אחרי הנקודה | {{#חשב:30 / 7 round 3}} {{#חשב:30 / 7 round 0}} {{#חשב:3456 round -2}} |
4.286 4 3500 |
= | שוויון (מספרי ולוגי) | {{#חשב:<nowiki>30 = 7}}</nowiki> | 0 |
<> | אי־שוויון, זהה ל־!= | {{#חשב:30 <> 7}} | 1 |
!= | אי־שוויון, זהה ל־<>, "XOR" לוגי | {{#חשב:<nowiki>1 != 0}}</nowiki> | 1 |
< | קטן מ־ | {{#חשב:30 < 7}} | 0 |
> | גדול מ־ | {{#חשב:30 > 7}} | 1 |
<= | קטן מ־ או שווה ל־ | {{#חשב:30 <= 7}} | 0 |
>= | גדול מ־ או שווה ל־ | {{#חשב:30 >= 7}} | 1 |
and | "AND" לוגי | {{#חשב:4 < 5 and 4 mod 2}} | 0 |
or | "OR" לוגי | {{#חשב:4 < 5 or 4 mod 2}} | 1 |
תנאי[עריכה]
הפונקציה הזו מאפשרת בחירה בין שתי אפשרויות: אם ביטוי שהועבר לה קיים (כלומר, לא ריק ולא 0), היא מחזירה משהו אחד; אם לא, היא מחזירה משהו אחר.
- שם עברי: #תנאי
- שם אנגלי: #if
- תחביר: {{#תנאי:הביטוי לבדיקה|מה לכתוב אם הביטוי קיים|מה לכתוב אם הביטוי אינו קיים}}
הפונקציה נמצאת בשימוש בעיקר בתבניות, כדי לבדוק האם הועבר להן פרמטר מסוים, אך ייתכנו שימושים נוספים רבים.
הפונקציה אינה מחשבת את הביטוי שהועבר לה; לשם כך קיימת הפונקציה "חשב תנאי".
אם רוצים רק לבדוק האם הועבר לתבנית פרמטר מסוים, אם כן להדפיסו, ואם לא להדפיס ערך אחר, עדיף להשתמש בצורת הכתיבה: {{{שם הפרמטר|ערך ברירת המחדל}}}, ולא בצורה הארוכה יותר {{#תנאי:{{{שם הפרמטר|}}}|{{{שם הפרמטר}}}|ערך ברירת המחדל}}. לעומת זאת, אם רוצים להדפיס בנוסף לפרמטר גם משהו אחר אם הוא קיים, יש להשתמש ב"תנאי".
דוגמאות[עריכה]
כתיבה: {{#תנאי: |אמת|שקר}} -->> תוצאה: שקר
כתיבה: {{#תנאי:1=9|אמת|שקר}} -->> תוצאה: אמת
שווה[עריכה]
הפונקציה הזו היא כמו "#תנאי", אך היא בוררת בין האפשרויות על בסיס השוואה בין שני ביטויים שהועברו לה.
- שם עברי: #שווה
- שם אנגלי: #ifeq
- תחביר: {{#שווה:הביטוי הראשון להשוואה|הביטוי השני להשוואה|מה לכתוב אם הביטויים שווים|מה לכתוב אם הביטויים אינם שווים}}
דוגמאות[עריכה]
כתיבה: {{#שווה: נ|נ|שתי האותיות שוות|שתי האותיות שונות}}
תוצאה: שתי האותיות שוות
כתיבה: {{#שווה: נ|פ|שתי האותיות שוות|שתי האותיות שונות}}
תוצאה: שתי האותיות שונות
חשב תנאי[עריכה]
הפונקציה הזו היא כמו "#תנאי", אך בוררת בין האפשרויות על בסיס בדיקה האם החישוב שהועבר לה (הנכתב בתחביר זהה לזה של הפונקציה "#חשב") קיים (כלומר לא 0), או לא.
- שם עברי: #חשב תנאי
- שם אנגלי: #ifexpr
- תחביר: {{#חשב תנאי:החישוב|מה לכתוב אם החישוב קיים|מה לכתוב אם החישוב אינו קיים}}
דוגמה[עריכה]
בחישוב תנאי בדוגמה נעשה נעשה שימוש בפקודה {{#זמןמ:w}} שמחזירה את היום בשבוע, בין 0 ל6.
כתיבה: {{#חשב תנאי:{{#זמןמ:w}}+1=6|היום יום ששי, הגיע הזמן להתכונן לשבת.| היום יום עבודה רגיל או שבת קדש.}}
תוצאה: היום יום ששי, הגיע הזמן להתכונן לשבת.
בחר[עריכה]
הפונקציה הזו מאפשרת לבחור בין כמה אפשרויות, על בסיס בדיקת ערכו של ביטוי שהועבר. למשל, ניתן לקבוע מה לכתוב כשיש ערכים שונים לפרמטר.
- שם עברי: #בחר
- שם אנגלי: #switch
הפונקציה נכתבת באופן הבא:
{{#בחר:הביטוי לבדיקה|
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|
#ברירת מחדל=מה לכתוב אם ערך הביטוי אינו אחד הערכים שנכתבו לעיל}}
השם האנגלי של "#ברירת מחדל" הוא #default, וגם בו ניתן להשתמש. ניתן גם להשמיטו, ואז לא נכתב כלום אם הביטוי הוא לא אחד מהערכים הנ"ל.
ניתן לרשום ברירת מחדל ללא #default=/#ברירת מחדל= כאשר מוסיפים קו חוצץ, כך:
{{#בחר:הביטוי לבדיקה|
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|
ערך לדוגמה=מה לכתוב אם זהו ערך הביטוי|מה לכתוב אם ערך הביטוי אינו אחד הערכים שנכתבו לעיל}}
יש אפשרות ליצור תוצאה מסויימת גם עבור כמה ערכים. כלומר, לתת תוצאה מסויימת, זהה, עבור כמה ערכים. צורת הכתיבה היא כזו:
{{#בחר:הביטוי לבדיקה|
ערך1|
ערך2|
ערך3=מה לכתוב אם ערך הביטוי שווה לערכים 1, 2 או 3|
ערך4=מה לכתוב אם זהו ערך הביטוי}}
ניתן כמובן להשתמש בכמה ערכים אפשריים של הביטוי שרוצים – ניתן להשתמש בערך אחד, ולעומת זאת ניתן להשתמש במאה ערכים. (השימוש בערך אחד בלבד אינו מומלץ, שכן לשם כך בדיוק קיימת הפונקציה "#שווה".)
אחד השימושים בתבנית הוא כדי לבדוק את ערכו של פרמטר מסוים שהועבר לתבנית ולהחזיר ערך על בסיסו, ואפשר גם להשתמש בתבנית כדי לקבל ערך שונה כשמשתנה מערכת משתנה, למשל כשהיום משתנה, או החודש משתנה.
ההוראה מקבילה ל #שווה בתוך #שווה ועדיפה על פניה בגלל אורכה הקצר.
דוגמה[עריכה]
כתיבה: {{#בחר:{{#זמןמ:xjn}}|1=תשרי|2=חשון|3=כסלו|4=טבת|5=שבט|6=אדר|7=ניסן|8=אייר|9=סיוון|10=תמוז|11=אב|12=אלול}}
תוצאה: חשון
קיים[עריכה]
הפונקציה הזו היא כמו "#תנאי", אך בוררת בין האפשרויות על בסיס בדיקה האם שם הדף שהועבר לה קיים, או לא.
- שם עברי: #קיים
- שם אנגלי: #ifexist
- תחביר: {{#קיים:שם הדף|מה לכתוב אם הדף קיים|מה לכתוב אם הדף אינו קיים}}
את שם הדף לבדיקה יש לכתוב ללא סוגריים מרובעות.
ניתן להשתמש בתבנית, למשל, כדי להציג קישור לערך רק אם הוא קיים.
דוגמה[עריכה]
כתיבה: {{#קיים:אריה|הערך [[אריה]] קיים. כדאי לבדוק אם הוא טעון הרחבה.|הערך [[אריה]] לא קיים. יש לך הזדמנות לפתוח אותו.}}
תוצאה: הערך אריה קיים. כדאי לבדוק אם הוא טעון הרחבה.
זמןמ[עריכה]
הפונקציה הזו מאפשרת גישה למערכת הזמן, בדרך כלל כדי לקבל את הזמן הנוכחי. היא עובדת בשעון הוויקי, ובמקרה שלנו - בשעון ישראל.
- שם עברי: #זמןמ
- שם אנגלי: #timel
- תחביר: {{#זמןמ:תבנית להצגת הזמן|התאריך שיש לעבוד עליו}}
התבניות הזמינות מפורטות כאן, וניתן להשתמש גם בתבנית xg, שנותנת את צורת הקניין של החודש ("בינואר"), וכן xx לתו X רגיל. הפרמטר השני אינו חובה, ובו ניתן לציין תאריך ושעה שיש להשתמש בהם (לדוגמה, להציג את הזמן כפי שהיה לפני 24 שעות).
דוגמאות:[עריכה]
כתיבת תאריך לועזי מקוצר: {{#זמןמ:d-m-y}} -->> תוצאה: 22-11-24
כתיבת תאריך לועזי מלא: {{#זמןמ:r}} -->> תוצאה: Fri, 22 Nov 2024 00:54:19 +0200
כתיבת יום בשבוע: {{#זמןמ:l}} -->> תוצאה: שישי
כתיבת תאריך עברי (מתחלף בחצות): {{#זמןמ:xhxjj xjx xhxjY}} -->> תוצאה: כ"א בחשוון ה'תשפ"ה
זמן[עריכה]
הפונקציה הזו היא בדיוק כמו זמןמ, אבל משתמשת בשעון UTC.
- שם עברי: #זמן
- שם אנגלי: #time
- תחביר: {{#זמןמ:תבנית להצגת הזמן|התאריך שיש לעבוד עליו}}
ברוב המקרים מומלץ להשתמש בפונקציה זמןמ.