Perl masyvo nuoroda

Perl Masyvo Nuoroda



Sukūrus bet kurio kintamojo atskaitos kintamąjį ir pakeitus pagrindinio kintamojo reikšmę, kartu keičiama ir pamatinio kintamojo reikšmė. Kadangi ir „pagrindinis“ kintamasis, ir „referencinis“ kintamasis turi tą pačią vietą atmintyje. Tiek skaliarinio, tiek vektorinio kintamojo atskaitos kintamasis gali būti apibrėžtas Perl. Masyvas yra vieno tipo vektorinis kintamasis Perl. Perl masyvo atskaitos kintamojo kūrimo ir naudojimo metodai parodyti šioje pamokoje.

Įvairūs masyvo nuorodos naudojimo būdai

Masyvo nuorodos kintamųjų naudojimas įvairiems tikslams parodytas toliau:

Masyvo kintamasis Masyvo nuorodos kintamasis Tikslas
@masyvas @{ $ref_array } Jis naudojamas visoms masyvo reikšmėms nurodyti.
skaliarinis @masyvas skaliaras @ref_array Jis naudojamas bendram masyvų skaičiui skaičiuoti.
$#masyvas $#ref_masyvas Jis naudojamas didžiausiam indeksui apibrėžti.
$masyvas[indeksas] $tef_array->[indeksas] Jis naudojamas nurodyti konkretų masyvo elementą.

Perl masyvo nuorodų naudojimas

Šioje pamokos dalyje parodytas skirtingas Perl masyvo nuorodų kintamųjų panaudojimas.







1 pavyzdys: Sukurkite masyvo nuorodą

Sukurkite Perl failą su šiuo scenarijumi, kuris deklaruoja keturių eilutės reikšmių masyvą ir šio masyvo atskaitos kintamąjį. Nuorodos kintamasis saugo pagrindinio masyvo atminties vietą ir abu kintamieji turi tą pačią vietą. Referencinio kintamojo ir pagrindinio masyvo turinys išspausdinamas vėliau.



#!/usr/bin/perl

naudoti griežtai ;
naudoti įspėjimai ;
naudoti 5.34.0 ;
naudoti Data::Dumper ;

#Deklaruoti eilutės masyvą
mano @ klajoklis = ( 'Perlis' , 'Java' , 'Bash' , 'Python' ) ;

#Sukurkite masyvo kintamojo nuorodą
mano $ref_array = \ @ klajoklis ;

pasakyti 'Masyvo nuorodos turinys yra $ref_array' ;

pasakyti 'Masyvo reikšmės naudojant Dumber kintamąjį yra: ;
#Spausdinkite atskaitos kintamąjį naudodami kintamąjį Dumper
spausdinti Savivartis $ref_array ;

Išvestis:



Vykdant scenarijų pasirodo ši išvestis:





  p1

2 pavyzdys: Atnaujinkite masyvą sukūrę nuorodą

Sukurkite Perl failą su šiuo scenarijumi, kuris parodo, kad pakeitus bet kurį pagrindinio masyvo elementą, tuo pačiu metu pakeičiama ir atitinkama nuorodos masyvo kintamojo reikšmė. Visos pagrindinio masyvo reikšmės išspausdinamos prieš atnaujinant bet kokią masyvo reikšmę, o visos nuorodos masyvo reikšmės spausdinamos atnaujinus antrąjį elementą naudojant kintamąjį „iškelties“.



#!/usr/bin/perl

naudoti griežtai ;
naudoti įspėjimai ;
naudoti 5.34.0 ;
naudoti Data::Dumper ;

#Deklaruoti eilutės masyvą
mano @ klajoklis = ( 'Perlis' , 'Java' , 'Bash' , 'Python' ) ;

pasakyti 'Pagrindinės masyvo reikšmės yra: ;
#Spausdinkite atskaitos kintamąjį naudodami kintamąjį Dumper
spausdinti savivartis \ @ klajoklis ;

#Sukurkite masyvo kintamojo nuorodą
mano $ref_array = \ @ klajoklis ;

#Atnaujinkite 2-ąjį masyvo elementą
$strarr [ 1 ] = 'C++' ;

pasakyti Nuorodų masyvo reikšmės (atnaujinus pagrindinį masyvą) yra šios: ;
#Spausdinkite atskaitos kintamąjį naudodami kintamąjį Dumper
spausdinti Savivartis $ref_array ;

Išvestis:

Įvykdžius scenarijų pasirodo ši išvestis. Pagal išvestį antrasis elementas nuorodos masyve pakeičiamas į „C++“, nes antrasis pagrindinio masyvo elementas atnaujinamas „C++“ reikšme:

  p2

3 pavyzdys: Perduokite masyvo nuorodą į paprogramę

Sukurkite Perl failą su šiuo scenarijumi, kur masyvo nuorodos kintamasis siunčiamas kaip paprogramės argumentas. Trečiojo masyvo indekso reikšmė atnaujinama naudojant atskaitos kintamąjį paprogramės viduje. Pagrindinio masyvo reikšmės spausdinamos prieš ir po trečiojo atskaitos kintamojo indekso atnaujinimo naudojant kintamąjį „iškelties“.

#!/usr/bin/perl

naudoti griežtai ;
naudoti įspėjimai ;
naudoti 5.34.0 ;
naudoti Data::Dumper ;

#Pareikškite skaičių masyvą
mano @ numeriai = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

pasakyti 'Pagrindinio masyvo reikšmės prieš atnaujinimą:' ;
spausdinti savivartis \ @ numeriai ;

#Perduokite masyvą kaip nuorodą į paprogramę
skaityti_masyvas ( \ @ numeriai ) ;
#Declare paprogramė, kad pakeistumėte masyvo reikšmę
antrinis skaitymo_masyvas
{
#Apibrėžkite masyvo nuorodos kintamąjį
mano $arr_ref = $_ [ 0 ] ;
#Atnaujinkite trečiąjį masyvo elementą
$arr_ref- > [ 2 ] = 99 ;
}
pasakyti 'Pagrindinio masyvo reikšmės po atnaujinimo:' ;
spausdinti savivartis \ @ numeriai ;

Išvestis:

Įvykdžius scenarijų pasirodo ši išvestis. Trečiasis masyvo elementas buvo 90 ir ši reikšmė pakeista į 99, naudojant masyvo atskaitos kintamąjį. Trečiasis pradinio masyvo elementas taip pat atnaujinamas 99, nes abu kintamieji turi tą pačią vietą:

  p3

Išvada

Šiame vadove parodyta, kaip pasiekti arba atnaujinti masyvo reikšmes sukuriant masyvo atskaitos kintamąjį. Perl vartotojai, perskaitę šią pamoką, gaus aiškią koncepciją, kaip naudoti Perl masyvo nuorodinius kintamuosius.