การอ้างอิงอาร์เรย์ Perl

Kar Xangxing Xarrey Perl



เมื่อสร้างตัวแปรอ้างอิงสำหรับตัวแปรใดๆ และหากมีการแก้ไขค่าของตัวแปรหลัก ค่าของตัวแปรอ้างอิงจะถูกแก้ไขพร้อมกัน เนื่องจากทั้งตัวแปร 'หลัก' และตัวแปร 'อ้างอิง' ใช้ตำแหน่งเดียวกันในหน่วยความจำ ตัวแปรอ้างอิงของทั้งตัวแปรสเกลาร์และตัวแปรเวกเตอร์สามารถกำหนดได้ใน Perl อาร์เรย์เป็นตัวแปรเวกเตอร์ชนิดหนึ่งในภาษา Perl วิธีการสร้างและใช้ตัวแปรอ้างอิงของอาร์เรย์ Perl จะแสดงอยู่ในบทช่วยสอนนี้

การใช้งานต่างๆ ของการอ้างอิงอาเรย์

การใช้ตัวแปรอ้างอิงอาร์เรย์เพื่อวัตถุประสงค์ที่แตกต่างกันจะแสดงดังต่อไปนี้:

ตัวแปรอาร์เรย์ ตัวแปรอ้างอิงอาร์เรย์ วัตถุประสงค์
@อาร์เรย์ @{ $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 ;

เอาท์พุท:



ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นเมื่อรันสคริปต์:





  หน้า 1

ตัวอย่างที่ 2: อัปเดตอาร์เรย์หลังจากสร้างข้อมูลอ้างอิง

สร้างไฟล์ Perl ด้วยสคริปต์ต่อไปนี้ซึ่งแสดงว่าหากองค์ประกอบใด ๆ ของอาร์เรย์หลักมีการเปลี่ยนแปลง ค่าที่สอดคล้องกันของตัวแปรอาร์เรย์อ้างอิงจะเปลี่ยนไปในเวลาเดียวกัน ค่าทั้งหมดของอาร์เรย์หลักจะถูกพิมพ์ก่อนที่จะอัปเดตค่าใดๆ ของอาร์เรย์ และค่าทั้งหมดของอาร์เรย์อ้างอิงจะถูกพิมพ์หลังจากอัปเดตองค์ประกอบที่สองโดยใช้ตัวแปร 'dump'



#!/usr/bin/perl

ใช้อย่างเข้มงวด ;
ใช้ คำเตือน ;
ใช้ 5.34.0 ;
ใช้ข้อมูล::Dumper ;

#ประกาศอาร์เรย์ของสตริง
ของฉัน @ คนพลัดหลง = ( 'เพิร์ล' , 'ชวา' , 'ทุบตี' , 'หลาม' ) ;

พูด 'ค่าอาร์เรย์หลักคือ:' ;
#พิมพ์ตัวแปรอ้างอิงด้วยตัวแปร Dumper
พิมพ์ รถเท \ @ คนพลัดหลง ;

#สร้างการอ้างอิงตัวแปรอาเรย์
$ref_array ของฉัน = \ @ คนพลัดหลง ;

#Update องค์ประกอบที่ 2 ของอาเรย์
$strarr [ 1 ] = 'ค++' ;

พูด 'ค่าอาเรย์อ้างอิง (หลังจากอัพเดตอาเรย์หลัก) คือ: ' ;
#พิมพ์ตัวแปรอ้างอิงด้วยตัวแปร Dumper
พิมพ์ รถดัมพ์ $ref_array ;

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ตามผลลัพธ์ องค์ประกอบที่สองจะเปลี่ยนเป็น “C++” ในอาร์เรย์อ้างอิง เนื่องจากองค์ประกอบที่สองของอาร์เรย์หลักได้รับการอัพเดตด้วยค่า “C++”:

  หน้า 2

ตัวอย่างที่ 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 เนื่องจากตัวแปรทั้งสองใช้ตำแหน่งเดียวกัน:

  หน้า 3

บทสรุป

วิธีการเข้าถึงหรืออัปเดตค่าอาร์เรย์โดยการสร้างตัวแปรอ้างอิงของอาร์เรย์จะแสดงอยู่ในบทช่วยสอนนี้ ผู้ใช้ Perl จะได้รับแนวคิดที่ชัดเจนเกี่ยวกับการใช้ตัวแปรอ้างอิงของอาร์เรย์ Perl หลังจากอ่านบทช่วยสอนนี้