Perl-arrayreferentie

Perl Arrayreferentie



Wanneer de referentievariabele voor een willekeurige variabele wordt aangemaakt, en als de waarde van de hoofdvariabele wordt gewijzigd, wordt tegelijkertijd de waarde van de referentievariabele gewijzigd. Omdat zowel de “hoofdvariabele” als de “referentievariabele” dezelfde locatie in het geheugen delen. De referentievariabele van zowel de scalaire variabele als de vectorvariabele kan in Perl worden gedefinieerd. De array is een type vectorvariabele in Perl. De methoden voor het maken en gebruiken van de referentievariabele van de Perl-array worden in deze zelfstudie getoond.

Verschillende toepassingen van de arrayreferentie

Het gebruik van de arrayreferentievariabelen voor verschillende doeleinden wordt hieronder weergegeven:

Arrayvariabele Arrayreferentievariabele Doel
@array @{ $ref_array } Het wordt gebruikt om naar alle arraywaarden te verwijzen.
scalaire @array scalair @ref_array Het wordt gebruikt om het totale aantal arrays te tellen.
$#matrix $#ref_array Het wordt gebruikt om de grootste index te definiëren.
$matrix[index] $tef_array->[index] Het wordt gebruikt om naar het specifieke element van de array te verwijzen.

Gebruik van de Perl Array-referenties

In dit deel van de zelfstudie worden verschillende toepassingen van de referentievariabelen van de Perl-array getoond.







Voorbeeld 1: Maak een arrayreferentie

Maak een Perl-bestand met het volgende script dat een array van vier tekenreekswaarden en de referentievariabele van deze array declareert. De referentievariabele slaat de geheugenlocatie van de hoofdarray op en beide variabelen delen dezelfde locatie. De inhoud van de referentievariabele en de hoofdarray wordt later afgedrukt.



#!/usr/bin/perl

gebruik strikt ;
gebruik waarschuwingen ;
gebruik 5.34.0 ;
gebruik Data::Dumper ;

#Declareer een array met tekenreeksen
Mijn @ achterblijver = ( 'Perl' , 'Java' , 'Bash' , 'Python' ) ;

#Maak een referentie van de arrayvariabele
mijn $ref_array = \ @ achterblijver ;

inspraak 'De inhoud van de arrayreferentie is $ref_array' ;

inspraak 'Arraywaarden die de Dumber-variabele gebruiken zijn: ' ;
#Print de referentievariabele met de Dumper-variabele
afdrukken Dumper $ref_array ;

Uitgang:



De volgende uitvoer verschijnt bij het uitvoeren van het script:





  p1

Voorbeeld 2: Update de array na het maken van de referentie

Maak een Perl-bestand met het volgende script dat laat zien dat als een element van de hoofdarray wordt gewijzigd, de corresponderende waarde van de referentiearrayvariabele tegelijkertijd wordt gewijzigd. Alle waarden van de hoofdarray worden afgedrukt voordat een waarde van de array wordt bijgewerkt, en alle waarden van de referentiearray worden afgedrukt nadat het tweede element is bijgewerkt met behulp van de “dump” -variabele.



#!/usr/bin/perl

gebruik strikt ;
gebruik waarschuwingen ;
gebruik 5.34.0 ;
gebruik Data::Dumper ;

#Declareer een array met tekenreeksen
Mijn @ achterblijver = ( 'Perl' , 'Java' , 'Bash' , 'Python' ) ;

inspraak 'De belangrijkste arraywaarden zijn: ' ;
#Print de referentievariabele met de Dumper-variabele
afdrukken Dumper \ @ achterblijver ;

#Maak een referentie van de arrayvariabele
mijn $ref_array = \ @ achterblijver ;

#Update het tweede element van de array
$strarr [ 1 ] = 'C++' ;

inspraak 'Referentiearraywaarden (na het bijwerken van de hoofdarray) zijn: ' ;
#Print de referentievariabele met de Dumper-variabele
afdrukken Dumper $ref_array ;

Uitgang:

De volgende uitvoer verschijnt na het uitvoeren van het script. Volgens de uitvoer wordt het tweede element gewijzigd in “C++” in de referentiearray omdat het tweede element van de hoofdarray wordt bijgewerkt met de waarde “C++”:

  p2

Voorbeeld 3: Geef de arrayreferentie door aan een subroutine

Maak een Perl-bestand met het volgende script waarin de referentievariabele van de array als argument van de subroutine wordt verzonden. De waarde van de derde index van de array wordt bijgewerkt met behulp van de referentievariabele in de subroutine. De waarden van de hoofdarray worden afgedrukt voor en na het bijwerken van de derde index van de referentievariabele met behulp van de “dump” -variabele.

#!/usr/bin/perl

gebruik strikt ;
gebruik waarschuwingen ;
gebruik 5.34.0 ;
gebruik Data::Dumper ;

#Declareer een reeks getallen
Mijn @ cijfers = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

inspraak 'De waarden van de hoofdarray vóór update:' ;
afdrukken Dumper \ @ cijfers ;

#Geef de array door als referentie in de subroutine
lees_array ( \ @ cijfers ) ;
#Declare subroutine om de arraywaarde te wijzigen
sub leesarray
{
#Definieer de array-referentievariabele
mijn $arr_ref = $_ [ 0 ] ;
#Update het derde element van de array
$arr_ref- > [ 2 ] = 99 ;
}
inspraak 'De waarden van de hoofdarray na update:' ;
afdrukken Dumper \ @ cijfers ;

Uitgang:

De volgende uitvoer verschijnt na het uitvoeren van het script. Het derde element van de array was 90 en deze waarde wordt gewijzigd in 99 met behulp van de referentievariabele van de array. Het derde element van de originele array wordt ook bijgewerkt met 99 omdat beide variabelen dezelfde locatie delen:

  p3

Conclusie

De methoden voor het openen of bijwerken van de arraywaarden door de referentievariabele van de array te maken, worden in deze zelfstudie getoond. Perl-gebruikers zullen na het lezen van deze tutorial een duidelijk concept krijgen van het gebruik van de referentievariabelen van de Perl-array.