Referência de matriz Perl

Referencia De Matriz Perl



Quando a variável de referência é criada para qualquer variável, e se o valor da variável principal for modificado, o valor da variável de referência é modificado ao mesmo tempo. Porque tanto a variável “principal” quanto a variável “referência” compartilham o mesmo local na memória. A variável de referência da variável escalar e da variável vetorial pode ser definida em Perl. A matriz é um tipo de variável vetorial em Perl. Os métodos de criação e uso da variável de referência do array Perl são mostrados neste tutorial.

Diferentes usos da referência de array

Os usos das variáveis ​​de referência de array para diferentes propósitos são mostrados a seguir:

Variável de matriz Variável de referência de matriz Propósito
@variedade @{$ref_array} É usado para se referir a todos os valores do array.
escalar @array escalar @ref_array É usado para contar o número total de arrays.
$#matriz $#ref_array É usado para definir o maior índice.
$matriz[índice] $tef_array->[índice] É usado para se referir ao elemento específico da matriz.

Usos das referências de array Perl

Diferentes usos das variáveis ​​de referência do array Perl são mostrados nesta parte do tutorial.







Exemplo 1: Crie uma referência de array

Crie um arquivo Perl com o script a seguir que declara uma matriz de quatro valores de string e a variável de referência dessa matriz. A variável de referência armazena a localização da memória do array principal e ambas as variáveis ​​compartilham a mesma localização. O conteúdo da variável de referência e do array principal é impresso posteriormente.



#!/usr/bin/perl

usar estrito ;
usar avisos ;
usar 5.34.0 ;
usar Dados::Dumper ;

#Declara um array de string
meu @ retardatário = ( 'Perl' , 'Java' , 'Bash' , 'Pitão' ) ;

#Crie uma referência da variável array
meu $ref_array = \ @ retardatário ;

dizer 'O conteúdo da referência do array é $ref_array' ;

dizer 'Os valores da matriz usando a variável Dumber são:' ;
#Imprime a variável de referência com a variável Dumper
imprimir Dumper $ref_array ;

Saída:



A seguinte saída aparece ao executar o script:





  p1

Exemplo 2: Atualizar o Array após Criar a Referência

Crie um arquivo Perl com o seguinte script que mostra que se qualquer elemento do array principal for alterado, o valor correspondente da variável do array de referência é alterado ao mesmo tempo. Todos os valores do array principal são impressos antes de atualizar qualquer valor do array e todos os valores do array de referência são impressos após a atualização do segundo elemento usando a variável “dump”.



#!/usr/bin/perl

usar estrito ;
usar avisos ;
usar 5.34.0 ;
usar Dados::Dumper ;

#Declara um array de string
meu @ retardatário = ( 'Perl' , 'Java' , 'Bash' , 'Pitão' ) ;

dizer 'Os principais valores da matriz são:' ;
#Imprime a variável de referência com a variável Dumper
imprimir Dumper \ @ retardatário ;

#Crie uma referência da variável array
meu $ref_array = \ @ retardatário ;

#Atualiza o segundo elemento do array
$strar [ 1 ] = 'C++' ;

dizer 'Os valores da matriz de referência (após atualizar a matriz principal) são:' ;
#Imprime a variável de referência com a variável Dumper
imprimir Dumper $ref_array ;

Saída:

A seguinte saída aparece após a execução do script. De acordo com a saída, o segundo elemento é alterado para “C++” na matriz de referência porque o segundo elemento da matriz principal é atualizado pelo valor “C++”:

  p2

Exemplo 3: Passe a referência do array para uma sub-rotina

Crie um arquivo Perl com o seguinte script onde a variável de referência do array é enviada como argumento da sub-rotina. O valor do terceiro índice do array é atualizado usando a variável de referência dentro da sub-rotina. Os valores do array principal são impressos antes e depois da atualização do terceiro índice da variável de referência usando a variável “dump”.

#!/usr/bin/perl

usar estrito ;
usar avisos ;
usar 5.34.0 ;
usar Dados::Dumper ;

#Declara um array de números
meu @ números = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

dizer 'Os valores do array principal antes da atualização:' ;
imprimir Dumper \ @ números ;

#Passe o array como referência para a sub-rotina
matriz_leitura ( \ @ números ) ;
#Declare sub-rotina para modificar o valor do array
sub-read_array
{
#Define a variável de referência do array
meu $arr_ref = $_ [ 0 ] ;
#Atualiza o terceiro elemento do array
$arr_ref- > [ 2 ] = 99 ;
}
dizer 'Os valores do array principal após atualização:' ;
imprimir Dumper \ @ números ;

Saída:

A seguinte saída aparece após a execução do script. O terceiro elemento do array era 90 e este valor é alterado para 99 usando a variável de referência do array. O terceiro elemento do array original também é atualizado em 99 porque ambas as variáveis ​​compartilham a mesma localização:

  pág.3

Conclusão

Os métodos de acesso ou atualização dos valores do array criando a variável de referência do array são mostrados neste tutorial. Os usuários de Perl terão um conceito claro de como usar as variáveis ​​de referência do array Perl depois de ler este tutorial.