การใช้งานต่างๆ ของการอ้างอิงอาเรย์
การใช้ตัวแปรอ้างอิงอาร์เรย์เพื่อวัตถุประสงค์ที่แตกต่างกันจะแสดงดังต่อไปนี้:
ตัวแปรอาร์เรย์ | ตัวแปรอ้างอิงอาร์เรย์ | วัตถุประสงค์ |
@อาร์เรย์ | @{ $ref_array } | ใช้เพื่ออ้างถึงค่าอาร์เรย์ทั้งหมด |
สเกลาร์ @array | สเกลาร์ @ref_array | ใช้ในการนับจำนวนอาร์เรย์ทั้งหมด |
$#อาร์เรย์ | $#ref_array | มันถูกใช้เพื่อกำหนดดัชนีที่ใหญ่ที่สุด |
$อาร์เรย์[ดัชนี] | $tef_array->[ดัชนี] | ใช้เพื่ออ้างถึงองค์ประกอบเฉพาะของอาร์เรย์ |
การใช้การอ้างอิงอาร์เรย์ Perl
การใช้งานต่างๆ ของตัวแปรอ้างอิงอาร์เรย์ Perl จะแสดงไว้ในส่วนนี้ของบทช่วยสอน
ตัวอย่างที่ 1: สร้างการอ้างอิงอาร์เรย์
สร้างไฟล์ Perl ด้วยสคริปต์ต่อไปนี้ที่ประกาศอาร์เรย์ของค่าสตริงสี่ค่าและตัวแปรอ้างอิงของอาร์เรย์นี้ ตัวแปรอ้างอิงจะจัดเก็บตำแหน่งหน่วยความจำของอาร์เรย์หลัก และตัวแปรทั้งสองจะใช้ตำแหน่งเดียวกัน เนื้อหาของตัวแปรอ้างอิงและอาร์เรย์หลักจะถูกพิมพ์ในภายหลัง
#!/usr/bin/perl
ใช้อย่างเข้มงวด ;
ใช้ คำเตือน ;
ใช้ 5.34.0 ;
ใช้ข้อมูล::Dumper ;
#ประกาศอาร์เรย์ของสตริง
ของฉัน @ คนพลัดหลง = ( 'เพิร์ล' , 'ชวา' , 'ทุบตี' , 'หลาม' ) ;
#สร้างการอ้างอิงตัวแปรอาเรย์
$ref_array ของฉัน = \ @ คนพลัดหลง ;
พูด 'เนื้อหาของการอ้างอิงอาร์เรย์คือ $ref_array' ;
พูด 'ค่าอาร์เรย์ที่ใช้ตัวแปร Dumber คือ: ' ;
#พิมพ์ตัวแปรอ้างอิงด้วยตัวแปร Dumper
พิมพ์ รถดัมพ์ $ref_array ;
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นเมื่อรันสคริปต์:
ตัวอย่างที่ 2: อัปเดตอาร์เรย์หลังจากสร้างข้อมูลอ้างอิง
สร้างไฟล์ Perl ด้วยสคริปต์ต่อไปนี้ซึ่งแสดงว่าหากองค์ประกอบใด ๆ ของอาร์เรย์หลักมีการเปลี่ยนแปลง ค่าที่สอดคล้องกันของตัวแปรอาร์เรย์อ้างอิงจะเปลี่ยนไปในเวลาเดียวกัน ค่าทั้งหมดของอาร์เรย์หลักจะถูกพิมพ์ก่อนที่จะอัปเดตค่าใดๆ ของอาร์เรย์ และค่าทั้งหมดของอาร์เรย์อ้างอิงจะถูกพิมพ์หลังจากอัปเดตองค์ประกอบที่สองโดยใช้ตัวแปร 'dump'
#!/usr/bin/perl
ใช้อย่างเข้มงวด ;
ใช้ คำเตือน ;
ใช้ 5.34.0 ;
ใช้ข้อมูล::Dumper ;
#ประกาศอาร์เรย์ของสตริง
ของฉัน @ คนพลัดหลง = ( 'เพิร์ล' , 'ชวา' , 'ทุบตี' , 'หลาม' ) ;
พูด 'ค่าอาร์เรย์หลักคือ:' ;
#พิมพ์ตัวแปรอ้างอิงด้วยตัวแปร Dumper
พิมพ์ รถเท \ @ คนพลัดหลง ;
#สร้างการอ้างอิงตัวแปรอาเรย์
$ref_array ของฉัน = \ @ คนพลัดหลง ;
#Update องค์ประกอบที่ 2 ของอาเรย์
$strarr [ 1 ] = 'ค++' ;
พูด 'ค่าอาเรย์อ้างอิง (หลังจากอัพเดตอาเรย์หลัก) คือ: ' ;
#พิมพ์ตัวแปรอ้างอิงด้วยตัวแปร Dumper
พิมพ์ รถดัมพ์ $ref_array ;
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ตามผลลัพธ์ องค์ประกอบที่สองจะเปลี่ยนเป็น “C++” ในอาร์เรย์อ้างอิง เนื่องจากองค์ประกอบที่สองของอาร์เรย์หลักได้รับการอัพเดตด้วยค่า “C++”:
ตัวอย่างที่ 3: ส่งผ่านการอ้างอิงอาร์เรย์ไปยังรูทีนย่อย
สร้างไฟล์ Perl ด้วยสคริปต์ต่อไปนี้ โดยที่ตัวแปรอ้างอิงของอาร์เรย์ถูกส่งเป็นอาร์กิวเมนต์ของรูทีนย่อย ค่าของดัชนีที่สามของอาร์เรย์ได้รับการอัปเดตโดยใช้ตัวแปรอ้างอิงภายในรูทีนย่อย ค่าของอาร์เรย์หลักจะถูกพิมพ์ก่อนและหลังการอัปเดตดัชนีที่สามของตัวแปรอ้างอิงโดยใช้ตัวแปร 'dump'
#!/usr/bin/perlใช้อย่างเข้มงวด ;
ใช้ คำเตือน ;
ใช้ 5.34.0 ;
ใช้ข้อมูล::Dumper ;
#ประกาศอาร์เรย์ของตัวเลข
ของฉัน @ ตัวเลข = ( 67 , 3. 4 , 90 , 12 , 39 ) ;
พูด 'ค่าของอาเรย์หลักก่อนการอัพเดต:' ;
พิมพ์ รถเท \ @ ตัวเลข ;
#ส่งอาร์เรย์เป็นข้อมูลอ้างอิงไปยังรูทีนย่อย
read_array ( \ @ ตัวเลข ) ;
#Declare รูทีนย่อยเพื่อแก้ไขค่าอาร์เรย์
ย่อย read_array
{
#กำหนดตัวแปรอ้างอิงอาร์เรย์
$arr_ref ของฉัน = $_ [ 0 ] ;
#Update องค์ประกอบที่สามของอาร์เรย์
$arr_ref- > [ 2 ] = 99 ;
}
พูด 'ค่าของอาร์เรย์หลักหลังการอัพเดต:' ;
พิมพ์ รถเท \ @ ตัวเลข ;
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ องค์ประกอบที่สามของอาร์เรย์คือ 90 และค่านี้เปลี่ยนเป็น 99 โดยใช้ตัวแปรอ้างอิงของอาร์เรย์ องค์ประกอบที่สามของอาร์เรย์ดั้งเดิมได้รับการอัปเดตด้วย 99 เนื่องจากตัวแปรทั้งสองใช้ตำแหน่งเดียวกัน:
บทสรุป
วิธีการเข้าถึงหรืออัปเดตค่าอาร์เรย์โดยการสร้างตัวแปรอ้างอิงของอาร์เรย์จะแสดงอยู่ในบทช่วยสอนนี้ ผู้ใช้ Perl จะได้รับแนวคิดที่ชัดเจนเกี่ยวกับการใช้ตัวแปรอ้างอิงของอาร์เรย์ Perl หลังจากอ่านบทช่วยสอนนี้