Referenca Perl polja

Referenca Perl Polja



Kada se kreira referentna varijabla za bilo koju varijablu i ako se promijeni vrijednost glavne varijable, ujedno se mijenja i vrijednost referentne varijable. Jer i 'glavna' varijabla i 'referentna' varijabla dijele isto mjesto u memoriji. Referentna varijabla i skalarne varijable i vektorske varijable može se definirati u Perlu. Niz je jedna vrsta vektorske varijable u Perlu. Metode stvaranja i korištenja referentne varijable Perl polja prikazane su u ovom vodiču.

Različite upotrebe referenci polja

Upotreba referentnih varijabli polja za različite svrhe prikazana je u sljedećem:

Varijabla polja Referentna varijabla polja Svrha
@niz @{$ref_array} Koristi se za označavanje svih vrijednosti polja.
skalarni @niz skalar @ref_array Koristi se za brojanje ukupnog broja nizova.
$#niz $#ref_array Koristi se za definiranje najvećeg indeksa.
$niz[indeks] $tef_array->[index] Koristi se za označavanje određenog elementa niza.

Upotreba referenci Perl polja

U ovom dijelu vodiča prikazane su različite upotrebe referentnih varijabli Perl niza.







Primjer 1: Stvorite referencu polja

Stvorite Perl datoteku sa sljedećom skriptom koja deklarira niz od četiri vrijednosti niza i referentnu varijablu tog niza. Referentna varijabla pohranjuje memorijsku lokaciju glavnog niza i obje varijable dijele istu lokaciju. Sadržaj referentne varijable i glavnog polja ispisuje se kasnije.



#!/usr/bin/perl

koristite strogi ;
koristiti upozorenja ;
koristiti 5.34.0 ;
koristite Data::Dumper ;

#Deklarirajte niz nizova
moj @ lutalica = ( 'Perl' , 'Java' , 'Bash' , 'Piton' ) ;

#Stvorite referencu varijable polja
moj $ref_array = \ @ lutalica ;

reći 'Sadržaj reference polja je $ref_array' ;

reći 'Vrijednosti polja koje koriste Dumber varijablu su: ' ;
#Ispiši referentnu varijablu s Dumper varijablom
ispisati Dumper $ref_array ;

Izlaz:



Prilikom izvršavanja skripte pojavljuje se sljedeći izlaz:





  p1

Primjer 2: ažuriranje polja nakon stvaranja reference

Napravite Perl datoteku sa sljedećom skriptom koja pokazuje da ako se promijeni bilo koji element glavnog niza, odgovarajuća vrijednost varijable referentnog niza se mijenja u isto vrijeme. Sve vrijednosti glavnog niza ispisuju se prije ažuriranja bilo koje vrijednosti niza, a sve vrijednosti referentnog niza ispisuju se nakon ažuriranja drugog elementa pomoću varijable 'dump'.



#!/usr/bin/perl

koristite strogi ;
koristiti upozorenja ;
koristiti 5.34.0 ;
koristite Data::Dumper ;

#Deklarirajte niz nizova
moj @ lutalica = ( 'Perl' , 'Java' , 'Bash' , 'Piton' ) ;

reći 'Glavne vrijednosti niza su: ' ;
#Ispiši referentnu varijablu s Dumper varijablom
ispisati kiper \ @ lutalica ;

#Stvorite referencu varijable polja
moj $ref_array = \ @ lutalica ;

#Ažuriraj 2. element niza
$strarr [ 1 ] = 'C++' ;

reći 'Vrijednosti referentnog niza (nakon ažuriranja glavnog niza) su: ' ;
#Ispiši referentnu varijablu s Dumper varijablom
ispisati Dumper $ref_array ;

Izlaz:

Nakon izvršavanja skripte pojavljuje se sljedeći izlaz. Prema izlazu, drugi element je promijenjen u 'C++' u referentnom nizu jer je drugi element glavnog niza ažuriran vrijednošću 'C++':

  p2

Primjer 3: Proslijedite referencu polja u potprogram

Stvorite Perl datoteku sa sljedećom skriptom gdje se referentna varijabla niza šalje kao argument potprograma. Vrijednost trećeg indeksa niza ažurira se pomoću referentne varijable unutar potprograma. Vrijednosti glavnog niza ispisuju se prije i nakon ažuriranja trećeg indeksa referentne varijable pomoću varijable 'dump'.

#!/usr/bin/perl

koristite strogi ;
koristiti upozorenja ;
koristiti 5.34.0 ;
koristite Data::Dumper ;

#Deklarirajte niz brojeva
moj @ brojevima = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

reći 'Vrijednosti glavnog niza prije ažuriranja:' ;
ispisati kiper \ @ brojevima ;

#Proslijedite niz kao referencu u potprogram
pročitaj polje ( \ @ brojevima ) ;
#Declare potprogram za izmjenu vrijednosti niza
podniz za čitanje
{
#Definirajte referentnu varijablu polja
moj $arr_ref = $_ [ 0 ] ;
#Ažuriraj treći element niza
$arr_ref- > [ 2 ] = 99 ;
}
reći 'Vrijednosti glavnog niza nakon ažuriranja:' ;
ispisati kiper \ @ brojevima ;

Izlaz:

Nakon izvršavanja skripte pojavljuje se sljedeći izlaz. Treći element niza bio je 90 i ta se vrijednost mijenja u 99 pomoću referentne varijable niza. Treći element izvornog niza također se ažurira za 99 jer obje varijable dijele istu lokaciju:

  p3

Zaključak

Metode pristupa ili ažuriranja vrijednosti niza stvaranjem referentne varijable niza prikazane su u ovom vodiču. Korisnici Perla će nakon čitanja ovog vodiča dobiti jasan koncept korištenja referentnih varijabli Perl polja.