אוסף הַפקודות if/then הוא מקובל בקוד PowerShell, אך האם ידעת שיש דרך נוספת בשם אופרטור ternary שמאפשרת לך להפוך את אוסף הַפקודות if/then שלך להרבה יותר קצר? בוא נלמד איך לבנות אופרטור ternary מותאם אישית עבור PowerShell.
למחיר של קריאות, יש אומרים, האופרטור ternary בונה לוגיקה תנאית יותר קצרה, פשוטה יותר, ועם קוד פחות. הם נכונים, אך זה פשוט כל כך נעים לקבל את ההתנהגות הזו של ternary בפוורשל!
אם אתה לא מכיר את אופרטור ה-ternary, זה בגדר כלשהו של בניית הטיות של הפרשיית קריטריונים באמצעות hashtable או בנייה דומה.
if/then בפוורשל
כדי להסביר את אופרטור ה- Powershell ternary, בוא נתחיל עם דוגמה של אוסף פקודות if/then.
במבט ראשון, ייתכן שלא תחשוב שיש משהו לא נכון עם זה. למעשה, אין כל כך בעיה, אך התנאי הזה יכול להיבדק בקלות גם בשורה אחת (מתחת להגבלת האישית שלי של 115 תווים).
עכשיו בנה hashtable בפוורשל עם שני מפתחות: $true
ו־$false
. לאחר מכן, קבע את הערכים למה שתרצה שיתוצג אם תנאי שתגדיר יתממש.
לְאַחַר מכן, תגדיר את התנאי ($CarColor הוא כחול
) ותבדוק האם התנאי זה נפגש עם $CarColor -eq 'Blue'
.
עכשיו תשתמש בתנאי ($CarColor -eq 'Blue'
) כמפתח בטבלת הגיבוב. על ידי זאת, הבדיקה תתבצע ואז תשתמש בתוצאה כדי לחפש את המפתח בטבלת הגיבוב.
סיום אופרטור ה־PowerShell Ternary

שורה אחת! האם זה לא הרבה יותר תמציתי? במקום להשתמש בהצהרת if/then, אני משתמש בטבלת גיבוב ומבצע חיפוש בה בהתבסס על כך האם $CarColor
שווה ל־Blue
או לא. האינדקס שתוצאתו מתקבלת מוצג אז למסך. אם ברצונך להשתמש בשיטה זו, זה פשוט כמו למלא את החסרים הללו:
תוכל גם לכלול יותר מ־$true
ו־$false
אם תרצה. תוכל להוסיף כל מספר של תנאים בטבלת הגיבוב ולבדוק אותם. זו דרך פשוטה להחליף הצהרות if/then ארוכות או הצהרות switch.
עכשיו יש לך אופרטור טרנרי מותאם אישית ב־PowerShell שאתה יכול להתחיל להשתמש בו בתסריטים שלך היום!