פרק ראשון: ה Perl שאתם צריכים לדעתמשתני Perl: רשומות (ובשם נוסף: מערכים)עד עתה, הוצפנו במידע אודות משתנים סקלריים, אשר מהווים את סוג המשתנים הנפוץ ביותר ב Perl (ובעצם בכל שפת תכנות אחרת). אולם הם אינם הסוג היחיד של המשתנים, לצדם נמצאות גם הרשימות (lists), המכונות גם מערכים (arrays) בשפות תכנות אחרות. אם נסכם את תפקידן, הרשימות נותנות לנו את האפשרות לאכסן מספר ערכים במשתנה אחד, לעומת ערך אחד בלבד במשתנה סקלרי. השימוש ברשימות נפוץ מאוד בחיי היום יום שלנו. רשימת קניות היא רשימה הכוללת מספר ערכים מילוליים - שמות המוצרים. תקציב הוא רשימה הכוללת מספר ערכים מספריים - ההוצאות וההכנסות וכו'. משתני הרשימות שונים ממשתנים סקלריים, בכך שהם אינם חולקים את אותם סוגי הפעולות. קל להבין מדוע -איך תחליטו מי גדול יותר רשימת צבעים או רשימה של שמות בעלי חיים? לעומת זאת ישנה משמעות לשאלה איזה רשימה ארוכה יותר, אולם האורך הוא משתנה סקלרי. על מנת למנוע מצב של בלבול בין סוגי המשתנים, לפני הרשימות ב Perl מופיע תו ה"שטרודל" (@). הערכים המצויים בתוך הרשימה נקראים פריטים (Items), והשמתם לתוך רשימה פשוטה ביותר: @shopping=("milk","eggs","bread","cheetos"); לפיכך הרשימה shopping@ מכילה ארבעה ערכים, שמאוכסנים בסדר בו הם נוצרו. הפריט הראשון הוא "milk", השני "eggs", וכדומה. חשוב מאוד לדעת שהפריט הראשון ברשימה מקבל את ערך האינדקס אפס, ולפיכך הפריט האפס ברשימה הוא "milk", הראשון הוא "eggs" וכו'. בעבודה עם רשימות אנו עובדים לעיתים עם הרשימה כיחידה אחת, ולעיתים רק עם פריטים מסוימים הנמצאים ברשימה. פעולות על פריט מסוים הם פעולות סקלריות, המנוהלות בצורה שכבר למדנו בפרקים הקודמים. אנו יכולים לפנות לפריט בודד מתוך הרשימה בעזרת האינדקס שלו: $shopping[0]="skim milk"; המשתנה בדוגמא פונה לפריט הראשון ברשימה shopping@, ומשים לתוכו את הערך החדש, "skim milk". שימו לב לשימוש ב $ ולא ב @ - זה נעשה כיוון שהפריט הבודד הוא בעצם משתנה סקלרי. נשאלת השאלה כיצד נטפל במספר פריטים מהרשימה (חתיכה-slice), אולם לא בכולה. התשובה היא שזוהי עדיין רשימה (רשימה בתוך רשימה) והטיפול בהתאם: @shopping[0,3]=("skim milk","diet cheetos"); בדוגמא הזו השמנו שני ערכים חדשים לתוך הרשימה שלנו, לפריט הראשון והאחרון. לכן גם נשארנו עם קידומת ה @, כיוון שהשתמשנו בחתיכה מהרשימה. שימוש בקידומת הנכונה הוא פרט חשוב מאוד בעבודה עם משתנים. לעיתים שימוש בקידומת מוטעת, לא יגרור הודעת שגיאה כשלעצמה אולם תוצאת התוכנית תהיה שגויה, כיוון ש Perl לא תפרש את הביטוי בדרך שבה "התכוונתם" לראותו באותו הרגע, כסקלר או רשומה. ניתן לבדוק את אורך הרשימה, משמע כמה איברים יש בתוכה, ע"י הפעולה הסקלרית (פעולה שתוצאתה סקלר): $#shopping פעולה זו תחזיר את ערך האינדקס של הפריט האחרון ברשימה, בדוגמא שלנו ערך זה יהיה 3. זכרו שרשימה מתחילה מאפס ולכן ערך מוחזר שלוש, משמעותו ארבעה איברים ברשימה. זכרו שמתכנתים צריכים להיתקל בדברים מסוג זה מדי יום ביומו - אולי זה יסביר לכם מדוע הם כאלה... הרשימה מהווה אמצעי נוח לסוגים שונים של מיוני משתנים, אולם מדריך זה היינו רק מדריך בסיסי ולא נתעסק בכך עתה. אולם לאחר שנניח את היסודות, יהיה לנו קל הרבה יותר בהמשך. Perl
אופרטורים של השוואה בשפת
|