הפניה למערך Perl

Hpnyh Lm Rk Perl



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

שימושים שונים בהפניית המערך

השימושים במשתני הייחוס של המערך למטרות שונות מוצגים בסעיף הבא:

משתנה מערך משתנה התייחסות למערך מַטָרָה
@מַעֲרָך @{ $ref_array } הוא משמש להתייחסות לכל ערכי המערך.
scalar @array scalar @ref_array הוא משמש לספירת המספר הכולל של מערכים.
מערך $# $#ref_array הוא משמש להגדרת המדד הגדול ביותר.
$array[index] $tef_array->[אינדקס] הוא משמש להתייחסות לאלמנט המסוים של המערך.

שימושים בהפניות למערך Perl

שימושים שונים במשתני ההתייחסות של מערך Perl מוצגים בחלק זה של המדריך.







דוגמה 1: צור הפניה למערך

צור קובץ Perl עם הסקריפט הבא שמצהיר על מערך של ארבעה ערכי מחרוזת ואת משתנה ההתייחסות של מערך זה. משתנה הייחוס מאחסן את מיקום הזיכרון של המערך הראשי ושני המשתנים חולקים את אותו מיקום. תוכן משתנה ההתייחסות והמערך הראשי מודפס מאוחר יותר.



#!/usr/bin/perl

להשתמש קפדני ;
להשתמש אזהרות ;
השתמש ב-5.34.0 ;
השתמש ב-Data::Dumper ;

#הכרז על מערך של מחרוזת
שֶׁלִי @ נפטר = ( 'פרל' , 'ג'אווה' , 'לַחֲבוֹט' , 'פִּיתוֹן' ) ;

#צור הפניה של משתנה המערך
ה-$ref_array שלי = \ @ נפטר ;

אמר 'התוכן של הפניה למערך הוא $ref_array' ;

אמר 'ערכי מערך המשתמשים במשתנה Dumber הם:' ;
#הדפס את משתנה ההתייחסות עם המשתנה Dumper
הדפס דומפר $ref_array ;

תְפוּקָה:



הפלט הבא מופיע בעת ביצוע הסקריפט:





  p1

דוגמה 2: עדכן את המערך לאחר יצירת ההפניה

צור קובץ Perl עם הסקריפט הבא שמראה שאם אלמנט כלשהו של המערך הראשי משתנה, הערך המתאים של משתנה מערך ההפניה משתנה בו זמנית. כל הערכים של המערך הראשי מודפסים לפני עדכון ערך כלשהו של המערך וכל הערכים של מערך ההפניה מודפסים לאחר עדכון האלמנט השני באמצעות המשתנה 'dump'.



#!/usr/bin/perl

להשתמש קפדני ;
להשתמש אזהרות ;
השתמש ב-5.34.0 ;
השתמש ב-Data::Dumper ;

#הכרז על מערך של מחרוזת
שֶׁלִי @ נפטר = ( 'פרל' , 'ג'אווה' , 'לַחֲבוֹט' , 'פִּיתוֹן' ) ;

אמר 'ערכי המערך העיקריים הם:' ;
#הדפס את משתנה ההתייחסות עם המשתנה Dumper
הדפס דומפר \ @ נפטר ;

#צור הפניה של משתנה המערך
ה-$ref_array שלי = \ @ נפטר ;

#עדכן את האלמנט השני של המערך
$סטרר [ 1 ] = 'C++' ;

אמר 'ערכי מערך הפניה (לאחר עדכון המערך הראשי) הם: ' ;
#הדפס את משתנה ההתייחסות עם המשתנה Dumper
הדפס דומפר $ref_array ;

תְפוּקָה:

הפלט הבא מופיע לאחר ביצוע הסקריפט. לפי הפלט, האלמנט השני משתנה ל-'C++' במערך ההתייחסות מכיוון שהאלמנט השני של המערך הראשי מתעדכן בערך 'C++':

  p2

דוגמה 3: העבר את ההפניה למערך לתוך תת שגרה

צור קובץ Perl עם הסקריפט הבא שבו משתנה ההתייחסות של המערך נשלח כארגומנט של תת-השגרה. הערך של האינדקס השלישי של המערך מתעדכן באמצעות משתנה ההתייחסות בתוך תת-השגרה. הערכים של המערך הראשי מודפסים לפני ואחרי עדכון האינדקס השלישי של משתנה ההתייחסות באמצעות המשתנה 'dump'.

#!/usr/bin/perl

להשתמש קפדני ;
להשתמש אזהרות ;
השתמש ב-5.34.0 ;
השתמש ב-Data::Dumper ;

#הכרז על מערך של מספרים
שֶׁלִי @ מספרים = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

אמר 'הערכים של המערך הראשי לפני העדכון:' ;
הדפס דומפר \ @ מספרים ;

#העבירו את המערך כהפניה אל תת-השגרה
מערך_קריאה ( \ @ מספרים ) ;
#הכרז על תת שגרת לשנות את ערך המערך
תת מערך_קריאה
{
#הגדר את משתנה ההפניה למערך
$arr_ref שלי = $_ [ 0 ] ;
#עדכן את האלמנט השלישי של המערך
$arr_ref- > [ 2 ] = 99 ;
}
אמר 'הערכים של המערך הראשי לאחר עדכון:' ;
הדפס דומפר \ @ מספרים ;

תְפוּקָה:

הפלט הבא מופיע לאחר ביצוע הסקריפט. האלמנט השלישי של המערך היה 90 וערך זה משתנה ל-99 באמצעות משתנה הייחוס של המערך. האלמנט השלישי של המערך המקורי מתעדכן גם הוא ב-99 מכיוון ששני המשתנים חולקים את אותו מיקום:

  p3

סיכום

שיטות הגישה או העדכון של ערכי המערך על ידי יצירת משתנה ההתייחסות של המערך מוצגות במדריך זה. משתמשי Perl יקבלו מושג ברור לגבי השימוש במשתני ההתייחסות של מערך Perl לאחר קריאת הדרכה זו.