משתנים מסוג מערך אסוציאטיביכפי שראינו, לכל סוג משתנים בשפת Perl יש קידומת משלו. הקידומת של מערכים אסוציטיביים הינה התו %. הגישה אל מערכים אסוציטיביים נעשית באופן דומה לגישה אל מערכים דינמיים רגילים, אולם במקרה של מערכים אסוציטיביים איננו ניגשים אל תוכן התאים בעזרת אינדקס מספרי, אלא בעזרת כל סקלר כלשהו. הגישה עצמה נעשית על ידי סוגריים מסולסלים ולא על ידי סוגריים מרובעים המאפיינים מערכים רגילים. דוגמא: use strict; בדוגמא זו יצרנו מערך אסוציאטיבי בעל שתי כניסות: כניסה בשם 'schmoe' שערכה 'joe' וכניסה 7.5 שערכה 2.6. כפי שניתן לבצע מניפולציות על הסקלרים שהם אברי המערך, כך ניתן גם על hash. נביט בדוגמא הבאה, הבאה כהמשך לדוגמא לעיל: print
"$table{'schmoe'}\n"; # outputs "joe\n" תכונה נוספת של hash הינה שהם יכולים להתפרש בהקשר של רשימה. במקרה כזה כל האיברים בעלי האינדקסים הזוגיים של הרשימה יהיו המפתחות של ה-hash, והאיברים בעלי האינדקסים האי-הזוגיים יהיו הערכים. לדוגמא: my @tableListed = %table; # @tableListed is qw/schmoe joe 7.5 1.6/ אם ננסה לשים מערך אסוציטיבי בהקשר של סקלר, אזי תוכן הסקלר יהיה undef אם המערך האסוציאטיבי ריק מאיברים, או true אם יש בו. |
תוכן העניינים:
קישורים רלוונטיים:שיתוף: |
אופרטורים
עמוד 12!!!