Referència de matriu Perl

Referencia De Matriu Perl



Quan es crea la variable de referència per a qualsevol variable, i si es modifica el valor de la variable principal, es modifica al mateix temps el valor de la variable de referència. Perquè tant la variable 'principal' com la variable 'referència' comparteixen la mateixa ubicació a la memòria. La variable de referència tant de la variable escalar com de la variable vectorial es pot definir en Perl. La matriu és un tipus de variable vectorial en Perl. Els mètodes per crear i utilitzar la variable de referència de la matriu Perl es mostren en aquest tutorial.

Diferents usos de la referència de matriu

Els usos de les variables de referència de matriu per a diferents propòsits es mostren a continuació:

Variable de matriu Variable de referència de matriu Propòsit
@array @{ $ref_array } S'utilitza per referir-se a tots els valors de matriu.
escalar @array escalar @ref_array S'utilitza per comptar el nombre total de matrius.
$#array $#ref_array S'utilitza per definir l'índex més gran.
$array[índex] $tef_array->[índex] S'utilitza per referir-se a l'element particular de la matriu.

Usos de les referències de matriu Perl

En aquesta part del tutorial es mostren diferents usos de les variables de referència de la matriu Perl.







Exemple 1: creeu una referència de matriu

Creeu un fitxer Perl amb el següent script que declari una matriu de quatre valors de cadena i la variable de referència d'aquesta matriu. La variable de referència emmagatzema la ubicació de memòria de la matriu principal i ambdues variables comparteixen la mateixa ubicació. El contingut de la variable de referència i la matriu principal s'imprimeix més tard.



#!/usr/bin/perl

ús estricte ;
utilitzar avisos ;
utilitzar 5.34.0 ;
utilitza Data::Dumper ;

#Declarar una matriu de cadena
meu @ retraçat = ( 'Perl' , 'Java' , 'Bash' , 'Python' ) ;

#Creeu una referència de la variable matriu
el meu $ref_array = \ @ retraçat ;

dir 'El contingut de la referència de la matriu és $ref_array' ;

dir 'Els valors de matriu que utilitzen la variable Dumber són: ' ;
#Imprimeix la variable de referència amb la variable Dumper
imprimir Dumper $ref_array ;

Sortida:



La sortida següent apareix quan s'executa l'script:





  p1

Exemple 2: actualitzeu la matriu després de crear la referència

Creeu un fitxer Perl amb el següent script que mostra que si es canvia algun element de la matriu principal, es canvia al mateix temps el valor corresponent de la variable de matriu de referència. Tots els valors de la matriu principal s'imprimeixen abans d'actualitzar qualsevol valor de la matriu i tots els valors de la matriu de referència s'imprimeixen després d'actualitzar el segon element mitjançant la variable 'dump'.



#!/usr/bin/perl

ús estricte ;
utilitzar avisos ;
utilitzar 5.34.0 ;
utilitza Data::Dumper ;

#Declarar una matriu de cadena
meu @ retraçat = ( 'Perl' , 'Java' , 'Bash' , 'Python' ) ;

dir 'Els valors principals de la matriu són: ' ;
#Imprimeix la variable de referència amb la variable Dumper
imprimir Dumper \ @ retraçat ;

#Creeu una referència de la variable matriu
el meu $ref_array = \ @ retraçat ;

#Actualitza el segon element de la matriu
$strarr [ 1 ] = 'C++' ;

dir 'Els valors de la matriu de referència (després d'actualitzar la matriu principal) són: ' ;
#Imprimeix la variable de referència amb la variable Dumper
imprimir Dumper $ref_array ;

Sortida:

La sortida següent apareix després d'executar l'script. Segons la sortida, el segon element es canvia a 'C++' a la matriu de referència perquè el segon element de la matriu principal s'actualitza amb el valor 'C++':

  p2

Exemple 3: Passeu la referència de matriu a una subrutina

Creeu un fitxer Perl amb el següent script on s'enviï la variable de referència de la matriu com a argument de la subrutina. El valor del tercer índex de la matriu s'actualitza mitjançant la variable de referència dins de la subrutina. Els valors de la matriu principal s'imprimeixen abans i després d'actualitzar el tercer índex de la variable de referència mitjançant la variable 'dump'.

#!/usr/bin/perl

ús estricte ;
utilitzar avisos ;
utilitzar 5.34.0 ;
utilitza Data::Dumper ;

#Declarar una matriu de nombres
meu @ nombres = ( 67 , 34 , 90 , 12 , 39 ) ;

dir 'Els valors de la matriu principal abans de l'actualització:' ;
imprimir Dumper \ @ nombres ;

# Passeu la matriu com a referència a la subrutina
read_array ( \ @ nombres ) ;
#Declare subrutina per modificar el valor de la matriu
sub read_array
{
#Definiu la variable de referència de la matriu
el meu $arr_ref = $_ [ 0 ] ;
#Actualitza el tercer element de la matriu
$arr_ref- > [ 2 ] = 99 ;
}
dir 'Els valors de la matriu principal després de l'actualització:' ;
imprimir Dumper \ @ nombres ;

Sortida:

La sortida següent apareix després d'executar l'script. El tercer element de la matriu era 90 i aquest valor es canvia a 99 utilitzant la variable de referència de la matriu. El tercer element de la matriu original també s'actualitza per 99 perquè ambdues variables comparteixen la mateixa ubicació:

  p3

Conclusió

En aquest tutorial es mostren els mètodes per accedir o actualitzar els valors de la matriu mitjançant la creació de la variable de referència de la matriu. Els usuaris de Perl tindran un concepte clar de l'ús de les variables de referència de la matriu Perl després de llegir aquest tutorial.