פרל מפעילי השוואה יכולים לפעמים להיות מבלבלים בפני מתכנתים חדשים של פרל. הבלבול נובע מהעובדה שלפרל יש למעשה שתי קבוצות של מפעילי השוואה - אחת לשם השוואה ערכים מספריים ואחד לשם השוואה בין ערכי קוד תקן אמריקאי למען חילופי מידע (ASCII).
מכיוון שמפעילי השוואה משמשים בדרך כלל כדי לשלוט על זרימת התוכניות הלוגיות ולקבל החלטות חשובות, באמצעות מפעיל שגוי לגבי הערך שאתה בודק עלול להוביל לשגיאות משונות ושעות ניפוי באגים, אם אינך נזהר.
אל תשכח לתפוס את מה שנכתב בתחתית העמוד הזה בכדי לזכור כמה דברים ברגע האחרון.
שווה, לא שווה
מפעילי ההשוואה הפשוטים וכנראה המשומשים ביותר בודקים אם ערך אחד שווה לערך אחר. אם הערכים שווים, הבדיקה חוזרת נכונה, ואם הערכים אינם שווים, הבדיקה חוזרת כוזבת.
לבדיקת השוויון בין שניים מספרית אנו משתמשים במפעיל ההשוואה ==. לבדיקת השוויון בין שניים מחרוזת אנו משתמשים במפעיל ההשוואה eq (שווה).
להלן דוגמה לשניהם:
if (5 == 5) {print "== לערכים מספריים \ n"; }
if ('moe' eq 'moe') {להדפיס "eq (EQual) לערכי מחרוזת \ n"; }
הבדיקה להיפך, לא שווה, דומה מאוד. זכור כי מבחן זה יחזור נכון אם הערכים שנבדקו הם
לא שווים זה לזה. כדי לראות אם שניים מספרית הערכים הם לא שווים אחד לשני, אנו משתמשים במפעיל ההשוואה !=. כדי לראות אם שניים מחרוזת הערכים הם לא שווים אחד לשני, אנו משתמשים במפעיל ההשוואה ne (לא שווה).if (5! = 6) {הדפס "! = לערכים מספריים \ n"; }
if ('moe' ne 'מתולתל') {print "ne (לא שווה) לערכי מחרוזת \ n"; }
גדול יותר, גדול יותר או שווה ל
עכשיו בואו נסתכל על גדול מ מפעילי השוואה. באמצעות מפעיל ראשון זה, תוכלו לבדוק אם ערך אחד גדול מערך אחר. כדי לראות אם שניים מספרית הערכים גדולים אחד מהשני, אנו משתמשים במפעיל ההשוואה >. כדי לראות אם שניים מחרוזת הערכים גדולים אחד מהשני, אנו משתמשים במפעיל ההשוואה gt (גדול מ).
if (5> 4) {הדפס "> לערכים מספריים \ n"; }
if ('B' gt 'A') {הדפס "gt (גדול יותר) לערכי מחרוזת \ n"; }
אתה יכול גם לבדוק גדול מ או שווה ל, שנראה דומה מאוד. זכור כי מבחן זה יחזור נכון אם הערכים שנבדקו שווים זה לזה, או אם הערך משמאל גדול מהערך מימין.
כדי לראות אם שניים מספרית ערכים גדולים יותר או שווים זה לזה, אנו משתמשים במפעיל ההשוואה >=. כדי לראות אם שניים מחרוזת ערכים גדולים יותר או שווים זה לזה, אנו משתמשים במפעיל ההשוואה ge (גדול יותר מאשר שווה ל-).
if (5> = 5) {print "> = לערכים מספריים \ n"; }
if ('B' ge 'A') {הדפס "ge (גדול יותר מאשר שווה ל-) לערכי מחרוזת \ n"; }
פחות מאשר, פחות או שווה ל
ישנם מגוון מפעילי השוואה שבהם תוכלו להשתמש בכדי לקבוע את הזרימה הלוגית של תוכניות Perl שלכם. כבר דנו בהבדל בין מפעילי ההשוואה המספרית פרל לבין מפעילי ההשוואה בין מחרוזות פרל, מה שעלול לגרום לבלבול מסוים בקרב מתכנתים חדשים של פרל. למדנו גם לדעת אם שני ערכים שווים זה לזה, או לא שווים זה לזה, ולמדנו לדעת אם שני ערכים גדולים או שווים זה לזה.
בואו נסתכל על פחות מ מפעילי השוואה. באמצעות מפעיל ראשון זה, תוכלו לבדוק אם ערך אחד הוא פחות מ ערך אחר. כדי לראות אם שניים מספרית הערכים הם פחות מ אחד את השני, אנו משתמשים במפעיל ההשוואה <. כדי לראות אם שניים מחרוזת הערכים הם פחות מ אחד את השני, אנו משתמשים במפעיל ההשוואה זה (פחות מ).
if (4 <5) {הדפיס "
if ('A' lt 'B') {הדפס "lt (פחות מ) לערכי מחרוזת \ n"; }
אתה יכול גם לבדוק, פחות מ או שווה ל, שנראה דומה מאוד. זכור כי מבחן זה יחזור נכון אם הערכים שנבדקו שווים זה לזה, או אם הערך משמאל פחות מהערך בצד ימין. כדי לראות אם שניים מספרית הערכים הם פחות מ או שווה ל אחד את השני, אנו משתמשים במפעיל ההשוואה <=. כדי לראות אם שניים מחרוזת הערכים הם פחות מ או שווה ל אחד את השני, אנו משתמשים במפעיל ההשוואה le (פחות משווה ל).
if (5 <= 5) {הדפס "<= לערכים מספריים \ n"; }
if ('A' le 'B') {להדפיס "le (פחות משווה ל-) לערכי מחרוזת \ n"; }
מידע נוסף על מפעילי השוואה
כאשר אנו מדברים על ערכי מחרוזת שווים זה לזה, אנו מתייחסים לערכי ASCII שלהם. אז, אותיות גדולות הן טכנית פחותות מאותיות קטנות, וככל שהאות גבוהה יותר באלף-בית, כך ערך ASCII גבוה יותר.
הקפד לבדוק את ערכי ה- ASCII שלך אם אתה מנסה לקבל החלטות לוגיות על בסיס מחרוזות.