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


26.08.2021

Firma Fortinet rozszerzyła...

Firma Fortinet rozszerzyła ofertę o usługę FortiTrust, która dołączyła do innych usług...
26.08.2021

Aplikacje biznesowe

Ready_™ AppStore
26.08.2021

Automatyzacja chmur...

Integracja z Red Hat Ansible
26.08.2021

Backup kodu źródłowego

GitProtect.io dostępny na Github
26.08.2021

Wsparcie pracy hybrydowej

Zdalny SD WAN
26.08.2021

Nowy monitor Philips 498P9Z

Nowy monitor Philips 498P9Z to model wyposażony w 49-calowy, zakrzywiony panel VA o...
26.08.2021

Wytrzymały punkt dostępowy

D-Link DIS-2650AP
26.08.2021

Ekonomiczne dyski

SSD bez DRAM
26.08.2021

Petabajty pojemności

Serwery QNAP

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.

Artykuł pochodzi z miesięcznika: IT Professional

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"