פונקציות הפועלות על מערכים אסוציאטיביים

כל הפונקציות הפועלות על מערכים יפעלו גם על מערכים אסוציאטיביים. כפי שראינו, המערך האסוציאטיבי יתורגם למערך המכיל זוגות של איברים, ואז תופעל הפעולה המבוקשת על מערך זה.

מלבד הפונקציות המיועדות למערכים, ישנן גם פונקציות הפועלות במיוחד על מערכים אסוציטיביים, אותן נציג כעת.



Keys, Values

כאשר אנו מתייחסים אל hash בהקשר של רשימה, perl מספקת לנו רשימה של זוגות.

אם זאת, לפעמים נרצה רשימה של המפתחות בלבד, או של הערכים.

Perl מאפשרת לנו לעשות זאת בעזרת שתי פונקציות: keys ו-values:

use strict;
my %table = qw/schmoe joe smith john simpson bart/;
my @lastNames  = keys %table;    # @lastNames is: qw/schmoe smith simpson/
my @firstNames = values %table;  # @firstNames is: qw/joe john bart/

Each

הפונקציה Each שימושית כדי לעבור על איברי טבלת ערבול אחד אחרי השני. הפונקציה מחזירה כל פעם זוג של מפתח+ערך, ומאפשרת מעבר על כל איברי ה-hash. לאחר שהשתמשנו בה על מנת לעבור על כל איברי המערך, היא מחזירה undef.

ניתן להשתמש בה למשל בצורה הבאה:

use strict;
my %table = qw/schmoe joe smith john simpson bart/;
my($key, $value);  # Declare two variables at once
while ( ($key, $value) = each(%table) )
{
    # Do some processing on $key and $value
}

יש להיזהר ולשים לב שכל שינוי של ה-hash "יתאחל" את Each ויגרום לה להתחיל מחדש במעבר על אברי המערך.



מאת: עודד

אופרטורים

עמוד 12!!!
מאת: עודד

אופרטורים

אין טבלת אופרטורים בעמוד!!!
מאת: MoShiKy

טעויות כתיב

אם יש לך זמן כדאי שתתקן את השגיאות הבאות במסמך:
עמ' 20- "אם זאת" => "עם זאת"
עמ' 21- "אל הרשימ" => "אל הרשימה"

EOC
שיתוף:
| עוד