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:
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++':
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/perlusar 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:
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.