Rujukan Array Perl

Rujukan Array Perl



Apabila pembolehubah rujukan dicipta untuk mana-mana pembolehubah, dan jika nilai pembolehubah utama diubah suai, nilai pembolehubah rujukan diubah suai pada masa yang sama. Kerana kedua-dua pembolehubah 'utama' dan pembolehubah 'rujukan' berkongsi lokasi yang sama dalam memori. Pembolehubah rujukan kedua-dua pembolehubah skalar dan pembolehubah vektor boleh ditakrifkan dalam Perl. Tatasusunan ialah satu jenis pembolehubah vektor dalam Perl. Kaedah mencipta dan menggunakan pembolehubah rujukan tatasusunan Perl ditunjukkan dalam tutorial ini.

Kegunaan Berbeza Rujukan Tatasusunan

Penggunaan pembolehubah rujukan tatasusunan untuk tujuan yang berbeza ditunjukkan dalam perkara berikut:

Pembolehubah tatasusunan Pembolehubah rujukan tatasusunan Tujuan
@susunan @{ $ref_array } Ia digunakan untuk merujuk kepada semua nilai tatasusunan.
skalar @array skalar @ref_array Ia digunakan untuk mengira jumlah bilangan tatasusunan.
$#array $#ref_array Ia digunakan untuk menentukan indeks terbesar.
$array[index] $tef_array->[index] Ia digunakan untuk merujuk kepada elemen tertentu tatasusunan.

Penggunaan Rujukan Tatasusunan Perl

Penggunaan berbeza pembolehubah rujukan tatasusunan Perl ditunjukkan dalam bahagian tutorial ini.







Contoh 1: Buat Rujukan Tatasusunan

Buat fail Perl dengan skrip berikut yang mengisytiharkan tatasusunan empat nilai rentetan dan pembolehubah rujukan tatasusunan ini. Pembolehubah rujukan menyimpan lokasi memori tatasusunan utama dan kedua-dua pembolehubah berkongsi lokasi yang sama. Kandungan pembolehubah rujukan dan tatasusunan utama dicetak kemudian.



#!/usr/bin/perl

menggunakan ketat ;
guna amaran ;
gunakan 5.34.0 ;
gunakan Data:: Dumper ;

#Isytiharkan tatasusunan rentetan
saya @ orang yang terleka = ( 'Perl' , 'Jawa' , 'Bash' , 'Python' ) ;

#Buat rujukan pembolehubah tatasusunan
$ref_array saya = \ @ orang yang terleka ;

katakan 'Kandungan rujukan tatasusunan ialah $ref_array' ;

katakan 'Nilai tatasusunan menggunakan pembolehubah Dumber ialah: ' ;
#Cetak pembolehubah rujukan dengan pembolehubah Dumper
cetak Dumper $ref_array ;

Pengeluaran:



Output berikut muncul semasa melaksanakan skrip:





  p1

Contoh 2: Kemas kini Tatasusunan selepas Mencipta Rujukan

Cipta fail Perl dengan skrip berikut yang menunjukkan bahawa jika mana-mana elemen tatasusunan utama diubah, nilai sepadan pembolehubah tatasusunan rujukan ditukar pada masa yang sama. Semua nilai tatasusunan utama dicetak sebelum mengemas kini sebarang nilai tatasusunan dan semua nilai tatasusunan rujukan dicetak selepas mengemas kini elemen kedua menggunakan pembolehubah 'buangan'.



#!/usr/bin/perl

menggunakan ketat ;
guna amaran ;
gunakan 5.34.0 ;
gunakan Data:: Dumper ;

#Isytiharkan tatasusunan rentetan
saya @ orang yang terleka = ( 'Perl' , 'Jawa' , 'Bash' , 'Python' ) ;

katakan 'Nilai tatasusunan utama ialah: ' ;
#Cetak pembolehubah rujukan dengan pembolehubah Dumper
cetak Dumper \ @ orang yang terleka ;

#Buat rujukan pembolehubah tatasusunan
$ref_array saya = \ @ orang yang terleka ;

#Kemas kini elemen ke-2 tatasusunan
$strarr [ 1 ] = 'C++' ;

katakan 'Nilai Tatasusunan Rujukan (selepas mengemas kini tatasusunan utama) ialah: ' ;
#Cetak pembolehubah rujukan dengan pembolehubah Dumper
cetak Dumper $ref_array ;

Pengeluaran:

Output berikut muncul selepas melaksanakan skrip. Mengikut output, elemen kedua ditukar kepada 'C++' dalam tatasusunan rujukan kerana elemen kedua tatasusunan utama dikemas kini oleh nilai 'C++':

  p2

Contoh 3: Hantar Rujukan Tatasusunan ke dalam Subrutin

Cipta fail Perl dengan skrip berikut di mana pembolehubah rujukan tatasusunan dihantar sebagai hujah subrutin. Nilai indeks ketiga tatasusunan dikemas kini menggunakan pembolehubah rujukan di dalam subrutin. Nilai tatasusunan utama dicetak sebelum dan selepas mengemas kini indeks ketiga pembolehubah rujukan menggunakan pembolehubah 'dump'.

#!/usr/bin/perl

menggunakan ketat ;
guna amaran ;
gunakan 5.34.0 ;
gunakan Data:: Dumper ;

#Isytiharkan susunan nombor
saya @ nombor = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

katakan 'Nilai tatasusunan utama sebelum kemas kini:' ;
cetak Dumper \ @ nombor ;

#Pass array sebagai rujukan ke dalam subrutin
read_array ( \ @ nombor ) ;
#Istiharkan subrutin untuk mengubah suai nilai tatasusunan
sub read_array
{
#Tentukan pembolehubah rujukan tatasusunan
$arr_ref saya = $_ [ 0 ] ;
#Kemas kini elemen ketiga tatasusunan
$arr_ref- > [ 2 ] = 99 ;
}
katakan 'Nilai tatasusunan utama selepas kemas kini:' ;
cetak Dumper \ @ nombor ;

Pengeluaran:

Output berikut muncul selepas melaksanakan skrip. Elemen ketiga tatasusunan ialah 90 dan nilai ini ditukar kepada 99 menggunakan pembolehubah rujukan tatasusunan. Elemen ketiga tatasusunan asal juga dikemas kini sebanyak 99 kerana kedua-dua pembolehubah berkongsi lokasi yang sama:

  p3

Kesimpulan

Kaedah untuk mengakses atau mengemas kini nilai tatasusunan dengan mencipta pembolehubah rujukan tatasusunan ditunjukkan dalam tutorial ini. Pengguna Perl akan mendapat konsep yang jelas menggunakan pembolehubah rujukan tatasusunan Perl selepas membaca tutorial ini.