Perl masīva atsauce

Perl Masiva Atsauce



Kad jebkuram mainīgajam tiek izveidots atsauces mainīgais un ja tiek mainīta galvenā mainīgā vērtība, vienlaikus tiek mainīta arī atsauces mainīgā vērtība. Tā kā gan “galvenajam” mainīgajam, gan “atsauces” mainīgajam ir viena un tā pati vieta atmiņā. Gan skalārā mainīgā, gan vektora mainīgā atsauces mainīgo var definēt programmā Perl. Masīvs ir viena veida vektoru mainīgais programmā Perl. Šajā apmācībā ir parādītas Perl masīva atsauces mainīgā izveides un izmantošanas metodes.

Masīva atsauces dažādi lietojumi

Masīva atsauces mainīgo izmantošana dažādiem mērķiem ir parādīta tālāk.

Masīva mainīgais Masīva atsauces mainīgais Mērķis
@masīvs @{ $ref_array } To lieto, lai atsauktos uz visām masīva vērtībām.
skalārs @masīvs skalārs @ref_array To izmanto, lai saskaitītu kopējo masīvu skaitu.
$#masīvs $#ref_masīvs To izmanto, lai definētu lielāko indeksu.
$masīvs[indekss] $tef_array->[indekss] To lieto, lai atsauktos uz konkrēto masīva elementu.

Perl masīva atsauču lietojumi

Šajā apmācības daļā ir parādīti dažādi Perl masīva atsauces mainīgo lietojumi.







1. piemērs. Izveidojiet masīva atsauci

Izveidojiet Perl failu ar šādu skriptu, kas deklarē četru virkņu vērtību masīvu un šī masīva atsauces mainīgo. Atsauces mainīgais saglabā galvenā masīva atmiņas vietu, un abiem mainīgajiem ir viena un tā pati atrašanās vieta. Atsauces mainīgā un galvenā masīva saturs tiek izdrukāts vēlāk.



#!/usr/bin/perl

izmantojiet stingru ;
izmantot brīdinājumus ;
izmantot 5.34.0 ;
izmantot Data::Dumper ;

#Deklarēt virknes masīvu
mans @ klaidonis = ( 'Perl' , 'Java' , 'Bash' , 'Python' ) ;

#Izveidojiet atsauci uz masīva mainīgo
mans $ref_array = \ @ klaidonis ;

saki 'Masīva atsauces saturs ir $ref_array' ;

saki 'Masīvu vērtības, izmantojot Dumber mainīgo, ir: ;
#Izdrukājiet atsauces mainīgo ar mainīgo Dumper
drukāt Pašizgāzējs $ref_array ;

Izvade:



Palaižot skriptu, tiek parādīta šāda izvade:





  p1

2. piemērs. Atjauniniet masīvu pēc atsauces izveides

Izveidojiet Perl failu ar šādu skriptu, kas parāda, ka, mainot kādu no galvenā masīva elementiem, vienlaikus tiek mainīta atbilstošā atsauces masīva mainīgā vērtība. Visas galvenā masīva vērtības tiek izdrukātas pirms jebkuras masīva vērtības atjaunināšanas, un visas atsauces masīva vērtības tiek izdrukātas pēc otrā elementa atjaunināšanas, izmantojot mainīgo “dump”.



#!/usr/bin/perl

izmantojiet stingru ;
izmantot brīdinājumus ;
izmantot 5.34.0 ;
izmantot Data::Dumper ;

#Deklarēt virknes masīvu
mans @ klaidonis = ( 'Perl' , 'Java' , 'Bash' , 'Python' ) ;

saki 'Galvenās masīva vērtības ir: ;
#Izdrukājiet atsauces mainīgo ar mainīgo Dumper
drukāt pašizgāzējs \ @ klaidonis ;

#Izveidojiet atsauci uz masīva mainīgo
mans $ref_array = \ @ klaidonis ;

#Atjauniniet masīva 2. elementu
$strarr [ 1 ] = 'C++' ;

saki 'Atsauces masīva vērtības (pēc galvenā masīva atjaunināšanas) ir: ;
#Izdrukājiet atsauces mainīgo ar mainīgo Dumper
drukāt Pašizgāzējs $ref_array ;

Izvade:

Pēc skripta izpildes tiek parādīta šāda izvade. Saskaņā ar izvadi atsauces masīvā otrais elements tiek mainīts uz “C++”, jo galvenā masīva otrais elements tiek atjaunināts ar “C++” vērtību:

  p2

3. piemērs: nododiet masīva atsauci apakšprogrammā

Izveidojiet Perl failu ar šādu skriptu, kurā masīva atsauces mainīgais tiek nosūtīts kā apakšprogrammas arguments. Masīva trešā indeksa vērtība tiek atjaunināta, izmantojot atsauces mainīgo apakšprogrammas iekšpusē. Galvenā masīva vērtības tiek drukātas pirms un pēc atsauces mainīgā trešā indeksa atjaunināšanas, izmantojot mainīgo “dump”.

#!/usr/bin/perl

izmantojiet stingru ;
izmantot brīdinājumus ;
izmantot 5.34.0 ;
izmantot Data::Dumper ;

#Deklarējiet skaitļu masīvu
mans @ cipariem = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

saki 'Galvenā masīva vērtības pirms atjaunināšanas:' ;
drukāt pašizgāzējs \ @ cipariem ;

#Nododiet masīvu kā atsauci apakšprogrammā
lasīt_masīvs ( \ @ cipariem ) ;
#Deklarēt apakšprogrammu, lai mainītu masīva vērtību
apakšlasīšanas_masīvs
{
#Definējiet masīva atsauces mainīgo
mans $arr_ref = $_ [ 0 ] ;
#Atjauniniet masīva trešo elementu
$arr_ref- > [ 2 ] = 99 ;
}
saki 'Galvenā masīva vērtības pēc atjaunināšanas:' ;
drukāt pašizgāzējs \ @ cipariem ;

Izvade:

Pēc skripta izpildes tiek parādīta šāda izvade. Trešais masīva elements bija 90, un šī vērtība tiek mainīta uz 99, izmantojot masīva atsauces mainīgo. Sākotnējā masīva trešais elements tiek atjaunināts arī par 99, jo abiem mainīgajiem ir viena un tā pati atrašanās vieta:

  p3

Secinājums

Šajā apmācībā ir parādītas metodes, kā piekļūt masīva vērtībām vai tās atjaunināt, izveidojot masīva atsauces mainīgo. Pēc šīs apmācības izlasīšanas Perl lietotāji iegūs skaidru priekšstatu par Perl masīva atsauces mainīgo izmantošanu.