Referencia de matriz Perl

Referencia De Matriz Perl



Cuando se crea la variable de referencia para cualquier variable, y si se modifica el valor de la variable principal, se modifica al mismo tiempo el valor de la variable de referencia. Porque tanto la variable 'principal' como la variable 'referencia' comparten la misma ubicación en la memoria. La variable de referencia tanto de la variable escalar como de la variable vectorial se puede definir en Perl. La matriz es un tipo de variable vectorial en Perl. En este tutorial se muestran los métodos para crear y utilizar la variable de referencia de la matriz Perl.

Diferentes usos de la referencia de matriz

Los usos de las variables de referencia de matriz para diferentes propósitos se muestran a continuación:

variable de matriz Variable de referencia de matriz Objetivo
@formación @{ $ref_array } Se utiliza para hacer referencia a todos los valores de la matriz.
escalar @matriz escalar @ref_array Se utiliza para contar el número total de matrices.
$#matriz $#ref_array Se utiliza para definir el índice más grande.
$matriz[índice] $tef_array->[índice] Se utiliza para referirse al elemento particular de la matriz.

Usos de las referencias de matrices Perl

En esta parte del tutorial se muestran diferentes usos de las variables de referencia de la matriz Perl.







Ejemplo 1: crear una referencia de matriz

Cree un archivo Perl con el siguiente script que declara una matriz de cuatro valores de cadena y la variable de referencia de esta matriz. La variable de referencia almacena la ubicación de memoria de la matriz principal y ambas variables comparten la misma ubicación. El contenido de la variable de referencia y la matriz principal se imprimen posteriormente.



#!/usr/bin/perl

usar estricto ;
usar advertencias ;
utilizar 5.34.0 ;
utilizar datos::Dumper ;

#Declarar una matriz de cadena
mi @ rezagado = ( 'perla' , 'Java' , 'Intento' , 'Pitón' ) ;

#Crear una referencia de la variable de matriz.
mi $ref_array = \ @ rezagado ;

decir 'El contenido de la referencia de la matriz es $ref_array' ;

decir 'Los valores de matriz que utilizan la variable más tonta son: ' ;
#Imprimir la variable de referencia con la variable Dumper
imprimir Volcador $ref_array ;

Producción:



El siguiente resultado aparece al ejecutar el script:





  p1

Ejemplo 2: actualizar la matriz después de crear la referencia

Cree un archivo Perl con el siguiente script que muestra que si se cambia cualquier elemento de la matriz principal, el valor correspondiente de la variable de la matriz de referencia se cambia al mismo tiempo. Todos los valores de la matriz principal se imprimen antes de actualizar cualquier valor de la matriz y todos los valores de la matriz de referencia se imprimen después de actualizar el segundo elemento usando la variable 'volcado'.



#!/usr/bin/perl

usar estricto ;
usar advertencias ;
utilizar 5.34.0 ;
utilizar datos::Dumper ;

#Declarar una matriz de cadena
mi @ rezagado = ( 'perla' , 'Java' , 'Intento' , 'Pitón' ) ;

decir 'Los valores principales de la matriz son: ' ;
#Imprimir la variable de referencia con la variable Dumper
imprimir Compuerta \ @ rezagado ;

#Crear una referencia de la variable de matriz.
mi $ref_array = \ @ rezagado ;

#Actualiza el segundo elemento de la matriz.
$strarr [ 1 ] = 'C++' ;

decir 'Los valores de la matriz de referencia (después de actualizar la matriz principal) son: ' ;
#Imprimir la variable de referencia con la variable Dumper
imprimir Volcador $ref_array ;

Producción:

El siguiente resultado aparece después de ejecutar el script. Según el resultado, el segundo elemento se cambia a 'C++' en la matriz de referencia porque el segundo elemento de la matriz principal se actualiza con el valor 'C++':

  p2

Ejemplo 3: pasar la referencia de matriz a una subrutina

Cree un archivo Perl con el siguiente script donde la variable de referencia del array se envía como argumento de la subrutina. El valor del tercer índice de la matriz se actualiza utilizando la variable de referencia dentro de la subrutina. Los valores de la matriz principal se imprimen antes y después de actualizar el tercer índice de la variable de referencia usando la variable 'volcado'.

#!/usr/bin/perl

usar estricto ;
usar advertencias ;
utilizar 5.34.0 ;
utilizar datos::Dumper ;

#Declarar una serie de números
mi @ números = ( 67 , 34 , 90 , 12 , 39 ) ;

decir 'Los valores de la matriz principal antes de la actualización:' ;
imprimir Compuerta \ @ números ;

#Pasar el array como referencia a la subrutina
matriz_lectura ( \ @ números ) ;
#Declarar subrutina para modificar el valor del array
subread_array
{
      #Definir la variable de referencia de la matriz
mi $arr_ref = $_ [ 0 ] ;
      #Actualiza el tercer elemento de la matriz.
$arr_ref- > [ 2 ] = 99 ;
}
decir 'Los valores de la matriz principal después de la actualización:' ;
imprimir Compuerta \ @ números ;

Producción:

El siguiente resultado aparece después de ejecutar el script. El tercer elemento de la matriz era 90 y este valor se cambia a 99 usando la variable de referencia de la matriz. El tercer elemento de la matriz original también se actualiza en 99 porque ambas variables comparten la misma ubicación:

  p3

Conclusión

En este tutorial se muestran los métodos para acceder o actualizar los valores de la matriz creando la variable de referencia de la matriz. Los usuarios de Perl obtendrán un concepto claro del uso de las variables de referencia de la matriz Perl después de leer este tutorial.