Různá použití reference pole
Použití referenčních proměnných pole pro různé účely je uvedeno v následujícím textu:
Proměnná pole | Referenční proměnná pole | Účel |
@array | @{ $ref_array } | Používá se k odkazování na všechny hodnoty pole. |
skalární @array | skalární @ref_array | Používá se k počítání celkového počtu polí. |
$#pole | $#ref_array | Používá se k definování největšího indexu. |
$array[index] | $tef_array->[index] | Používá se k odkazování na konkrétní prvek pole. |
Použití odkazů na pole Perl
V této části tutoriálu jsou uvedena různá použití referenčních proměnných pole Perl.
Příklad 1: Vytvoření reference pole
Vytvořte soubor Perl pomocí následujícího skriptu, který deklaruje pole čtyř řetězcových hodnot a referenční proměnnou tohoto pole. Referenční proměnná ukládá paměťové umístění hlavního pole a obě proměnné sdílejí stejné umístění. Obsah referenční proměnné a hlavního pole se vytiskne později.
#!/usr/bin/perl
používat přísné ;
použití varování ;
použijte 5.34.0 ;
použití Data::Dumper ;
#Deklarujte pole řetězců
můj @ opozdilec = ( 'Perl' , 'Jáva' , 'Bash' , 'Krajta' ) ;
#Vytvořte odkaz na proměnnou pole
můj $ref_array = \ @ opozdilec ;
říci 'Obsah odkazu na pole je $ref_array' ;
říci 'Hodnoty pole pomocí proměnné Dumber jsou: ' ;
# Vytiskněte referenční proměnnou pomocí proměnné Dumper
tisk Vyklápěč $ref_array ;
Výstup:
Při provádění skriptu se zobrazí následující výstup:
Příklad 2: Aktualizujte pole po vytvoření reference
Vytvořte soubor Perl pomocí následujícího skriptu, který ukazuje, že pokud se změní jakýkoli prvek hlavního pole, změní se současně i odpovídající hodnota proměnné referenčního pole. Všechny hodnoty hlavního pole se vytisknou před aktualizací jakékoli hodnoty pole a všechny hodnoty pole reference se vytisknou po aktualizaci druhého prvku pomocí proměnné „dump“.
#!/usr/bin/perl
používat přísné ;
použití varování ;
použijte 5.34.0 ;
použití Data::Dumper ;
#Deklarujte pole řetězců
můj @ opozdilec = ( 'Perl' , 'Jáva' , 'Bash' , 'Krajta' ) ;
říci 'Hodnoty hlavního pole jsou: ' ;
# Vytiskněte referenční proměnnou pomocí proměnné Dumper
tisk Vyklápěč \ @ opozdilec ;
#Vytvořte odkaz na proměnnou pole
můj $ref_array = \ @ opozdilec ;
# Aktualizujte 2. prvek pole
$strarr [ 1 ] = 'C++' ;
říci 'Hodnoty referenčního pole (po aktualizaci hlavního pole) jsou: ' ;
# Vytiskněte referenční proměnnou pomocí proměnné Dumper
tisk Vyklápěč $ref_array ;
Výstup:
Po provedení skriptu se zobrazí následující výstup. Podle výstupu se druhý prvek v referenčním poli změní na „C++“, protože druhý prvek hlavního pole je aktualizován hodnotou „C++“:
Příklad 3: Předejte referenci pole do podprogramu
Vytvořte soubor Perl pomocí následujícího skriptu, kde je referenční proměnná pole odeslána jako argument podprogramu. Hodnota třetího indexu pole je aktualizována pomocí referenční proměnné uvnitř podprogramu. Hodnoty hlavního pole jsou vytištěny před a po aktualizaci třetího indexu referenční proměnné pomocí proměnné „dump“.
#!/usr/bin/perlpoužívat přísné ;
použití varování ;
použijte 5.34.0 ;
použití Data::Dumper ;
#Deklarujte pole čísel
můj @ čísla = ( 67 , 3. 4 , 90 , 12 , 39 ) ;
říci 'Hodnoty hlavního pole před aktualizací:' ;
tisk Vyklápěč \ @ čísla ;
#Předejte pole jako referenci do podprogramu
read_array ( \ @ čísla ) ;
#Declare podprogram pro úpravu hodnoty pole
sub read_array
{
#Definujte referenční proměnnou pole
můj $arr_ref = $_ [ 0 ] ;
# Aktualizujte třetí prvek pole
$arr_ref- > [ 2 ] = 99 ;
}
říci 'Hodnoty hlavního pole po aktualizaci:' ;
tisk Vyklápěč \ @ čísla ;
Výstup:
Po provedení skriptu se zobrazí následující výstup. Třetí prvek pole byl 90 a tato hodnota se změní na 99 pomocí referenční proměnné pole. Třetí prvek původního pole je také aktualizován o 99, protože obě proměnné sdílejí stejné umístění:
Závěr
V tomto kurzu jsou uvedeny metody přístupu k hodnotám pole nebo jejich aktualizace vytvořením referenční proměnné pole. Uživatelé Perlu po přečtení tohoto návodu získají jasnou představu o používání referenčních proměnných pole Perl.