Perl Array Reference

Perl Array Reference



Keď sa vytvorí referenčná premenná pre akúkoľvek premennú a ak sa zmení hodnota hlavnej premennej, súčasne sa zmení aj hodnota referenčnej premennej. Pretože premenná „hlavná“ aj „referenčná“ zdieľajú rovnaké miesto v pamäti. Referenčnú premennú skalárnej aj vektorovej premennej je možné definovať v jazyku Perl. Pole je jedným z typov vektorových premenných v Perle. Metódy vytvárania a používania referenčnej premennej poľa Perl sú uvedené v tomto návode.

Rôzne použitia referenčného poľa

Použitie referenčných premenných poľa na rôzne účely je uvedené v nasledujúcom texte:

Premenná poľa Referenčná premenná poľa Účel
@array @{ $ref_array } Používa sa na označenie všetkých hodnôt poľa.
skalárne @array skalárny @ref_array Používa sa na počítanie celkového počtu polí.
$#pole $#ref_array Používa sa na definovanie najväčšieho indexu.
$array[index] $tef_array->[index] Používa sa na označenie konkrétneho prvku poľa.

Použitie referencií Perl Array

V tejto časti návodu sú uvedené rôzne použitia referenčných premenných poľa Perl.







Príklad 1: Vytvorte referenciu poľa

Vytvorte súbor Perl pomocou nasledujúceho skriptu, ktorý deklaruje pole štyroch reťazcových hodnôt a referenčnú premennú tohto poľa. Referenčná premenná ukladá pamäťové miesto hlavného poľa a obe premenné zdieľajú rovnaké umiestnenie. Obsah referenčnej premennej a hlavného poľa sa vytlačí neskôr.



#!/usr/bin/perl

používať prísne ;
použitie upozornenia ;
použite 5.34.0 ;
použite Data::Dumper ;

#Deklarujte pole reťazcov
môj @ opozdilec = ( 'Perl' , 'Java' , 'Bash' , 'Python' ) ;

#Vytvorte referenciu premennej poľa
môj $ref_array = \ @ opozdilec ;

povedať 'Obsah odkazu na pole je $ref_array' ;

povedať 'Hodnoty poľa pomocou premennej Dumber sú: ' ;
# Vytlačte referenčnú premennú s premennou Dumper
vytlačiť Vyklápač $ref_array ;

Výkon:



Pri spustení skriptu sa zobrazí nasledujúci výstup:





  p1

Príklad 2: Aktualizujte pole po vytvorení referencie

Vytvorte súbor Perl pomocou nasledujúceho skriptu, ktorý ukazuje, že ak sa zmení ktorýkoľvek prvok hlavného poľa, súčasne sa zmení aj zodpovedajúca hodnota premennej referenčného poľa. Všetky hodnoty hlavného poľa sa vytlačia pred aktualizáciou akejkoľvek hodnoty poľa a všetky hodnoty referenčného poľa sa vytlačia po aktualizácii druhého prvku pomocou premennej „dump“.



#!/usr/bin/perl

používať prísne ;
použitie upozornenia ;
použite 5.34.0 ;
použite Data::Dumper ;

#Deklarujte pole reťazcov
môj @ opozdilec = ( 'Perl' , 'Java' , 'Bash' , 'Python' ) ;

povedať 'Hlavné hodnoty poľa sú: ' ;
# Vytlačte referenčnú premennú s premennou Dumper
vytlačiť Sklápač \ @ opozdilec ;

#Vytvorte referenciu premennej poľa
môj $ref_array = \ @ opozdilec ;

# Aktualizujte 2. prvok poľa
$strarr [ 1 ] = 'C++' ;

povedať 'Hodnoty referenčného poľa (po aktualizácii hlavného poľa) sú: ' ;
# Vytlačte referenčnú premennú s premennou Dumper
vytlačiť Vyklápač $ref_array ;

Výkon:

Po vykonaní skriptu sa zobrazí nasledujúci výstup. Podľa výstupu sa druhý prvok v referenčnom poli zmení na „C++“, pretože druhý prvok hlavného poľa je aktualizovaný hodnotou „C++“:

  p2

Príklad 3: Odovzdajte referenciu poľa do podprogramu

Vytvorte súbor Perl pomocou nasledujúceho skriptu, kde sa referenčná premenná poľa odošle ako argument podprogramu. Hodnota tretieho indexu poľa sa aktualizuje pomocou referenčnej premennej vo vnútri podprogramu. Hodnoty hlavného poľa sa vytlačia pred a po aktualizácii tretieho indexu referenčnej premennej pomocou premennej „dump“.

#!/usr/bin/perl

používať prísne ;
použitie upozornenia ;
použite 5.34.0 ;
použite Data::Dumper ;

#Deklarujte pole čísel
môj @ čísla = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

povedať 'Hodnoty hlavného poľa pred aktualizáciou:' ;
vytlačiť Sklápač \ @ čísla ;

#Odovzdajte pole ako referenciu do podprogramu
read_array ( \ @ čísla ) ;
#Declare podprogram na úpravu hodnoty poľa
sub read_array
{
#Definujte referenčnú premennú poľa
môj $arr_ref = $_ [ 0 ] ;
# Aktualizujte tretí prvok poľa
$arr_ref- > [ 2 ] = 99 ;
}
povedať 'Hodnoty hlavného poľa po aktualizácii:' ;
vytlačiť Sklápač \ @ čísla ;

Výkon:

Po vykonaní skriptu sa zobrazí nasledujúci výstup. Tretí prvok poľa bol 90 a táto hodnota sa zmení na 99 pomocou referenčnej premennej poľa. Tretí prvok pôvodného poľa je tiež aktualizovaný o 99, pretože obe premenné zdieľajú rovnaké umiestnenie:

  p3

Záver

Metódy prístupu alebo aktualizácie hodnôt poľa vytvorením referenčnej premennej poľa sú uvedené v tomto návode. Používatelia Perlu po prečítaní tohto návodu získajú jasnú predstavu o používaní referenčných premenných poľa Perl.