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:
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++“:
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/perlpouží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:
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.