Referință Perl Array

Referinta Perl Array



Când variabila de referință este creată pentru orice variabilă și dacă valoarea variabilei principale este modificată, valoarea variabilei de referință este modificată în același timp. Pentru că atât variabila „principală”, cât și variabila „de referință” au aceeași locație în memorie. Variabila de referință atât a variabilei scalare, cât și a variabilei vectoriale poate fi definită în Perl. Matricea este un tip de variabilă vectorială în Perl. Metodele de creare și utilizare a variabilei de referință a matricei Perl sunt prezentate în acest tutorial.

Diferite utilizări ale matricei de referință

Utilizările variabilelor de referință ale matricei în diferite scopuri sunt prezentate în următoarele:

Variabila matrice Variabila de referință matrice Scop
@array @{ $ref_array } Este folosit pentru a face referire la toate valorile matricei.
scalar @array scalar @ref_array Este folosit pentru a număra numărul total de matrice.
$#array $#ref_array Este folosit pentru a defini cel mai mare indice.
$array[index] $tef_array->[index] Este folosit pentru a se referi la un anumit element al matricei.

Utilizări ale Referințelor Perl Array

În această parte a tutorialului sunt prezentate diferite utilizări ale variabilelor de referință ale matricei Perl.







Exemplul 1: Creați o referință pentru matrice

Creați un fișier Perl cu următorul script care declară o matrice de patru valori și variabila de referință a acestei matrice. Variabila de referință stochează locația de memorie a matricei principale și ambele variabile au aceeași locație. Conținutul variabilei de referință și al tabloului principal este tipărit ulterior.



#!/usr/bin/perl

folosiți strict ;
utilizare Avertizări ;
utilizați 5.34.0 ;
utilizați Data::Dumper ;

#Declară o matrice de șir
Ale mele @ rătăcit = ( 'Perl' , „Java” , „Bash” , 'Piton' ) ;

#Creați o referință a variabilei matrice
meu $ref_array = \ @ rătăcit ;

Spune „Conținutul referinței matricei este $ref_array” ;

Spune 'Valorile matricei care utilizează variabila Dumber sunt: ​​' ;
#Tipărește variabila de referință cu variabila Dumper
imprimare Dumper $ref_array ;

Ieșire:



Următoarea ieșire apare la executarea scriptului:





  p1

Exemplul 2: Actualizați matricea după crearea referinței

Creați un fișier Perl cu următorul script care arată că dacă orice element al matricei principale este modificat, valoarea corespunzătoare a variabilei matricei de referință este modificată în același timp. Toate valorile matricei principale sunt tipărite înainte de actualizarea oricărei valori a matricei și toate valorile matricei de referință sunt tipărite după actualizarea celui de-al doilea element folosind variabila „dump”.



#!/usr/bin/perl

folosiți strict ;
utilizare Avertizări ;
utilizați 5.34.0 ;
utilizați Data::Dumper ;

#Declară o matrice de șir
Ale mele @ rătăcit = ( 'Perl' , „Java” , „Bash” , 'Piton' ) ;

Spune 'Valorile matricei principale sunt: ​​' ;
#Tipărește variabila de referință cu variabila Dumper
imprimare basculant \ @ rătăcit ;

#Creați o referință a variabilei matrice
meu $ref_array = \ @ rătăcit ;

#Actualizați al 2-lea element al matricei
$strarr [ 1 ] = „C++” ;

Spune 'Valorile matricei de referință (după actualizarea matricei principale) sunt: ​​' ;
#Tipărește variabila de referință cu variabila Dumper
imprimare Dumper $ref_array ;

Ieșire:

Următoarea ieșire apare după executarea scriptului. Conform rezultatelor, al doilea element este schimbat în „C++” în matricea de referință, deoarece al doilea element al matricei principale este actualizat cu valoarea „C++”:

  p2

Exemplul 3: Treceți referința la matrice într-o subrutină

Creați un fișier Perl cu următorul script unde variabila de referință a matricei este trimisă ca argument al subrutinei. Valoarea celui de-al treilea indice al matricei este actualizată folosind variabila de referință din subrutină. Valorile matricei principale sunt tipărite înainte și după actualizarea celui de-al treilea index al variabilei de referință folosind variabila „dump”.

#!/usr/bin/perl

folosiți strict ;
utilizare Avertizări ;
utilizați 5.34.0 ;
utilizați Data::Dumper ;

#Declarați o serie de numere
Ale mele @ numere = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

Spune „Valorile matricei principale înainte de actualizare:” ;
imprimare basculant \ @ numere ;

#Trimiteți matricea ca referință în subrutină
read_array ( \ @ numere ) ;
#Declare subrutine pentru a modifica valoarea matricei
sub read_array
{
#Definiți variabila de referință a matricei
my $arr_ref = $_ [ 0 ] ;
#Actualizați al treilea element al matricei
$arr_ref- > [ 2 ] = 99 ;
}
Spune „Valorile matricei principale după actualizare:” ;
imprimare basculant \ @ numere ;

Ieșire:

Următoarea ieșire apare după executarea scriptului. Al treilea element al matricei a fost 90 și această valoare este schimbată la 99 folosind variabila de referință a matricei. Al treilea element al matricei originale este, de asemenea, actualizat cu 99, deoarece ambele variabile au aceeași locație:

  p3

Concluzie

Metodele de accesare sau actualizare a valorilor matricei prin crearea variabilei de referință a matricei sunt prezentate în acest tutorial. Utilizatorii Perl vor obține un concept clar de utilizare a variabilelor de referință ale matricei Perl după citirea acestui tutorial.