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