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



14.07.2021

Platforma AQUILA

IBM zaprezentował platformę opartą na sztucznej inteligencji służącą do kompleksowej, w...
14.07.2021

Przenoszenie Javy do chmury

JBoss Enterprise
14.07.2021

Nowe okna

Windows 11
14.07.2021

Monitoring sieci

nVision 12.5
14.07.2021

Automatyczna ochrona

Nowości w FortiEDR
14.07.2021

Seria monitorów...

Firma Newline prezentuje serię monitorów interaktywnych MIRA.
14.07.2021

Modularne routery IoT

Cisco Catalyst
14.07.2021

Nowy poziom pracy

Radeon PRO W6000
14.07.2021

SI w monitoringu

Kamery i-PRO S-Series

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"