Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



01.06.2021

Monitory interaktywne Newline...

Na rynek trafiły nowe monitory interaktywne Newline MIRA stanowiące kompletne narzędzia...
27.05.2021

Anywhere Workspace

VMware wprowadza rozwiązanie Anywhere Workspace
27.05.2021

Narzędzie SaaS

Lenovo Device Intelligence Plus
27.05.2021

Nowa fala przetwarzania edge

Red Hat Edge
27.05.2021

Wirtualny router od QNAP-a

QuWAN vRouter
27.05.2021

Ochrona endpointów

Cisco SASE
27.05.2021

Monitor graficzny

Monitor graficzny PD2725U od BenQ zaprojektowany jest z myślą o wygodnej pracy...
27.05.2021

Monitoring wizyjny

D-Link Vigilance
27.05.2021

Moc i elastyczność

Liebert EXM2

Perl – manipulacja tablicami

Data publikacji: 29-04-2021 Autor: Grzegorz Kuczyński

W poprzedniej części przedstawiliśmy, jak w języku Perl wypisywać i pobierać dane ze standardowego wejścia, w tym również z plików. Omawialiśmy podstawowe typy danych oraz tablice zwykłe i asocjacyjne.

 

Podczas omawiania tablic zwykłych wspominaliśmy o funkcjach, jakie są przeznaczone w Perlu do manipulowania nimi. Perl oferuje takie funkcje również dla tablic asocjacyjnych. Najpopularniejsze wśród nich są funkcje keys() i values(). Pierwsza z nich pobiera z tablicy wszystkie klucze i zwraca je w postaci listy. Klucze w tej liście są umieszczone w tej samej kolejność, w jakiej znajdowały się w tablicy. Natomiast druga funkcja wykonuje analogiczne zadanie z tą różnicą, że zwraca listę wartości tablicy. Działanie tych funkcji najłatwiej zaprezentować wraz z pętlą foreach, która została wręcz stworzona do iteracji po listach. W ramce Struktury kontrolne znajduje się krótki spis konstrukcji językowych używanych w języku Perl.

 

%t = ('key1','value1','key2','value2');
foreach $key (keys(%t)) {
print "Klucz '$key' ma wartość '$t{$key}'n";}

Klucz 'key1' ma wartość 'value1'
Klucz 'key2' ma wartość 'value2'

 

Funkcja values() nie może w prosty sposób odtworzyć pary klucz-wartość z tablicy asocjacyjnej, gdyż ta zwraca tylko wartości.

 

%t = ('key1','value1','key2','value2');
$i = 1;
foreach (values(%t)) {
  print "Pozycja $i ma wartość: '$_'n";
  $i++;
}

Pozycja 1 ma wartość: 'value1'
Pozycja 2 ma wartość: 'value2'

 

W powyższym przykładzie zaprezentowano również użycie zmiennej domyślnej $_ dla pętli foreach.

Prędzej czy później zajdzie potrzeba usunięcia jakiegoś elementu z tablicy asocjacyjnej. Służy do tego funkcja delete(). Podajemy jej wartość, którą chcemy usunąć, a ona usuwa parę klucz–wartość z tablicy. Warto również sprawdzić, czy tablica nie jest już pusta. Możemy tego dokonać za pomocą instrukcji if (%t) . Załóżmy, że chcemy usunąć pierwszy element tablicy, ale tylko pod warunkiem że nie jest on jedynym jej elementem.

 

[...]

 

Autor zawodowo zajmuje się informatyką. Jest członkiem społeczności open source, prowadzi blog nt. systemu GNU/Linux.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"