Odniesienie do tablicy Perla

Odniesienie Do Tablicy Perla



W przypadku utworzenia zmiennej referencyjnej dla dowolnej zmiennej i modyfikacji wartości zmiennej głównej następuje jednocześnie modyfikacja wartości zmiennej referencyjnej. Ponieważ zarówno zmienna „główna”, jak i zmienna „odniesienia” zajmują to samo miejsce w pamięci. Zmienną referencyjną zarówno zmiennej skalarnej, jak i zmiennej wektorowej można zdefiniować w Perlu. Tablica jest jednym z typów zmiennych wektorowych w Perlu. W tym samouczku pokazano metody tworzenia i używania zmiennej referencyjnej tablicy Perla.

Różne zastosowania odniesienia do tablicy

Zastosowania zmiennych referencyjnych tablicy do różnych celów pokazano poniżej:

Zmienna tablicowa Zmienna odniesienia tablicy Zamiar
@szyk @{ $ref_array } Służy do odwoływania się do wszystkich wartości tablicy.
skalarny @tablica skalarny @ref_array Służy do zliczania całkowitej liczby tablic.
$#tablica $#ref_tablica Służy do zdefiniowania największego indeksu.
$tablica[indeks] $tef_array->[indeks] Służy do odwoływania się do konkretnego elementu tablicy.

Zastosowania odwołań do tablic Perla

W tej części samouczka pokazano różne zastosowania zmiennych referencyjnych tablicy Perla.







Przykład 1: Utwórz odniesienie do tablicy

Utwórz plik Perla za pomocą poniższego skryptu, który deklaruje tablicę czterech wartości łańcuchowych i zmienną referencyjną tej tablicy. Zmienna referencyjna przechowuje lokalizację pamięci głównej tablicy, a obie zmienne współdzielą tę samą lokalizację. Zawartość zmiennej referencyjnej i głównej tablicy jest drukowana później.



#!/usr/bin/perl

użyj ścisłego ;
używać ostrzeżenia ;
użyj wersji 5.34.0 ;
użyj Data::Dumper ;

#Zadeklaruj tablicę ciągów
Mój @ maruder = ( „Perła” , 'Jawa' , 'Grzmotnąć' , 'Pyton' ) ;

#Utwórz odwołanie do zmiennej tablicowej
moja tablica $ref_array = \ @ maruder ;

mowić „Zawartość odwołania do tablicy to $ref_array” ;

mowić „Wartości tablicy przy użyciu zmiennej Dumber to: „ ;
#Wydrukuj zmienną referencyjną ze zmienną Dumper
wydrukować Wyrzutnia $ref_array ;

Wyjście:



Podczas wykonywania skryptu pojawiają się następujące dane wyjściowe:





  p1

Przykład 2: Aktualizacja tablicy po utworzeniu odniesienia

Utwórz plik Perla za pomocą poniższego skryptu, który pokaże, że zmiana dowolnego elementu tablicy głównej powoduje jednocześnie zmianę odpowiadającej wartości zmiennej tablicy referencyjnej. Wszystkie wartości tablicy głównej są drukowane przed aktualizacją dowolnej wartości tablicy, a wszystkie wartości tablicy referencyjnej są drukowane po aktualizacji drugiego elementu za pomocą zmiennej „dump”.



#!/usr/bin/perl

użyj ścisłego ;
używać ostrzeżenia ;
użyj wersji 5.34.0 ;
użyj Data::Dumper ;

#Zadeklaruj tablicę ciągów
Mój @ maruder = ( „Perła” , 'Jawa' , 'Grzmotnąć' , 'Pyton' ) ;

mowić „Główne wartości tablicy to: „ ;
#Wydrukuj zmienną referencyjną ze zmienną Dumper
wydrukować Wywrotka \ @ maruder ;

#Utwórz odwołanie do zmiennej tablicowej
moja tablica $ref_array = \ @ maruder ;

#Zaktualizuj drugi element tablicy
$strarr [ 1 ] = „C++” ;

mowić „Wartości tablicy referencyjnej (po aktualizacji głównej tablicy) to: „ ;
#Wydrukuj zmienną referencyjną ze zmienną Dumper
wydrukować Wyrzutnia $ref_array ;

Wyjście:

Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. Zgodnie z wynikami drugi element tablicy referencyjnej zostaje zmieniony na „C++”, ponieważ drugi element tablicy głównej jest aktualizowany o wartość „C++”:

  p2

Przykład 3: Przekaż odwołanie do tablicy do podprogramu

Utwórz plik Perla za pomocą poniższego skryptu, w którym zmienna referencyjna tablicy jest wysyłana jako argument podprogramu. Wartość trzeciego indeksu tablicy jest aktualizowana przy użyciu zmiennej referencyjnej wewnątrz podprogramu. Wartości tablicy głównej są drukowane przed i po aktualizacji trzeciego indeksu zmiennej referencyjnej za pomocą zmiennej „dump”.

#!/usr/bin/perl

użyj ścisłego ;
używać ostrzeżenia ;
użyj wersji 5.34.0 ;
użyj Data::Dumper ;

#Zadeklaruj tablicę liczb
Mój @ liczby = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

mowić „Wartości głównej tablicy przed aktualizacją:” ;
wydrukować Wywrotka \ @ liczby ;

#Przekaż tablicę jako odniesienie do podprogramu
odczyt_tablicy ( \ @ liczby ) ;
#Declare podprogram do modyfikowania wartości tablicy
podrzędna tablica odczytu
{
#Zdefiniuj zmienną odniesienia do tablicy
mój $arr_ref = $_ [ 0 ] ;
#Zaktualizuj trzeci element tablicy
$arr_ref- > [ 2 ] = 99 ;
}
mowić „Wartości głównej tablicy po aktualizacji:” ;
wydrukować Wywrotka \ @ liczby ;

Wyjście:

Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. Trzecim elementem tablicy było 90 i wartość ta została zmieniona na 99 za pomocą zmiennej referencyjnej tablicy. Trzeci element oryginalnej tablicy jest również aktualizowany o 99, ponieważ obie zmienne mają tę samą lokalizację:

  p3

Wniosek

W tym samouczku przedstawiono metody uzyskiwania dostępu do wartości tablicy lub ich aktualizowania poprzez utworzenie zmiennej referencyjnej tablicy. Użytkownicy Perla uzyskają jasną koncepcję używania zmiennych referencyjnych tablicy Perla po przeczytaniu tego samouczka.