Različne uporabe reference polja
Uporabe referenčnih spremenljivk matrike za različne namene so prikazane v nadaljevanju:
Spremenljivka niza | Referenčna spremenljivka polja | Namen |
@array | @{ $ref_array} | Uporablja se za sklicevanje na vse vrednosti polja. |
skalar @matrika | skalar @ref_array | Uporablja se za štetje skupnega števila nizov. |
$#matrika | $#ref_array | Uporablja se za določitev največjega indeksa. |
$matrika[indeks] | $tef_array->[index] | Uporablja se za sklicevanje na določen element matrike. |
Uporaba referenc Perl Array
V tem delu vadnice so prikazane različne uporabe referenčnih spremenljivk polja Perl.
Primer 1: Ustvarite referenco polja
Ustvarite datoteko Perl z naslednjim skriptom, ki deklarira matriko štirih vrednosti niza in referenčno spremenljivko te matrike. Referenčna spremenljivka shrani pomnilniško lokacijo glavne matrike in obe spremenljivki si delita isto lokacijo. Vsebina referenčne spremenljivke in glavne matrike se natisne pozneje.
#!/usr/bin/perl
uporabite strogo ;
uporaba opozorila ;
uporabi 5.34.0 ;
uporabite Data::Dumper ;
#Deklarajte matriko nizov
moj @ straggler = ( 'Perl' , 'Java' , 'Bash' , 'Python' ) ;
#Ustvarite referenco spremenljivke polja
moj $ref_array = \ @ straggler ;
reči 'Vsebina sklica na polje je $ref_array' ;
reči 'Vrednosti polja, ki uporabljajo spremenljivko Dumber, so: ' ;
#Natisnite referenčno spremenljivko s spremenljivko Dumper
tiskanje Dumper $ref_array ;
Izhod:
Med izvajanjem skripta se prikaže naslednji rezultat:
Primer 2: Posodobite matriko po ustvarjanju sklica
Ustvarite datoteko Perl z naslednjim skriptom, ki kaže, da se ob spremembi katerega koli elementa glavne matrike hkrati spremeni ustrezna vrednost spremenljivke referenčne matrike. Vse vrednosti glavne matrike se natisnejo pred posodobitvijo katere koli vrednosti matrike, vse vrednosti referenčne matrike pa se natisnejo po posodobitvi drugega elementa z uporabo spremenljivke »dump«.
#!/usr/bin/perl
uporabite strogo ;
uporaba opozorila ;
uporabi 5.34.0 ;
uporabite Data::Dumper ;
#Deklarajte matriko nizov
moj @ straggler = ( 'Perl' , 'Java' , 'Bash' , 'Python' ) ;
reči 'Glavne vrednosti niza so: ' ;
#Natisnite referenčno spremenljivko s spremenljivko Dumper
tiskanje prekucnik \ @ straggler ;
#Ustvarite referenco spremenljivke polja
moj $ref_array = \ @ straggler ;
#Posodobi 2. element matrike
$strarr [ 1 ] = 'C++' ;
reči 'Vrednosti referenčnega polja (po posodobitvi glavnega polja) so: ' ;
#Natisnite referenčno spremenljivko s spremenljivko Dumper
tiskanje Dumper $ref_array ;
Izhod:
Po izvedbi skripta se prikaže naslednji rezultat. Glede na izhod se drugi element spremeni v »C++« v referenčni matriki, ker je drugi element glavne matrike posodobljen z vrednostjo »C++«:
Primer 3: Prenesite sklic na polje v podprogram
Ustvarite datoteko Perl z naslednjim skriptom, kjer je referenčna spremenljivka matrike poslana kot argument podprograma. Vrednost tretjega indeksa matrike se posodobi z referenčno spremenljivko znotraj podprograma. Vrednosti glavne matrike so natisnjene pred in po posodobitvi tretjega indeksa referenčne spremenljivke z uporabo spremenljivke »dump«.
#!/usr/bin/perluporabite strogo ;
uporaba opozorila ;
uporabi 5.34.0 ;
uporabite Data::Dumper ;
#Deklarajte niz števil
moj @ številke = ( 67 , 3. 4 , 90 , 12 , 39 ) ;
reči 'Vrednosti glavne matrike pred posodobitvijo:' ;
tiskanje prekucnik \ @ številke ;
#Posredujte polje kot referenco v podprogram
read_array ( \ @ številke ) ;
#Declare podprogram za spreminjanje vrednosti polja
sub read_array
{
#Določite referenčno spremenljivko matrike
moj $arr_ref = $_ [ 0 ] ;
#Posodobi tretji element matrike
$arr_ref- > [ 2 ] = 99 ;
}
reči 'Vrednosti glavne matrike po posodobitvi:' ;
tiskanje prekucnik \ @ številke ;
Izhod:
Po izvedbi skripta se prikaže naslednji rezultat. Tretji element matrike je bil 90 in ta vrednost se spremeni v 99 z uporabo referenčne spremenljivke matrike. Tretji element prvotne matrike je prav tako posodobljen za 99, ker imata obe spremenljivki isto lokacijo:
Zaključek
Metode dostopanja ali posodabljanja vrednosti matrike z ustvarjanjem referenčne spremenljivke matrike so prikazane v tej vadnici. Uporabniki Perla bodo po branju te vadnice dobili jasen koncept uporabe referenčnih spremenljivk matrike Perl.