Kurs Perl – cz. 2.5

Pewnie zastanawiacie się dlaczego nagle pojawiła się część dwa i pół kursu Perla ;) Jest to spowodowane tym, że pod częścią drugą pojawił się komentarz mówiący, że przy opisie tablic zabrakło informacji o dodawaniu czy usuwaniu elementów z tablicy oraz o wypisywaniu wszystkich kluczy i wartości z hasha w pętli foreach. Dlatego czym prędzej uzupełniam braki, w końcu piszę to dla Was dlatego też staram się słuchać propozycji i uwag :)

1. Dodawanie elementów do tablicy

W Perlu zasadniczo można element dodać na początku lub na końcu tablicy. Służą do tego funkcje push()unshift(). Pierwsza dodaje element na końcu, druga na początku. Wymagają one podania dwóch argumentów: tablicy, do której będziemy dodawać element no i samego elementu. Wygląda to mniej więcej tak:

Wykonanie powyższego kodu spowoduje dodanie na początku tablicy elementu „aaa”, a na końcu „eee”. Funkcje push()unshift() mogą dodawać nie tylko pojedyncze elementy, ale również całe listy.

2. Usuwanie elementów z tablicy

Do usunięcia elementu z tablicy w Perlu możesz wykorzystać dwie funkcje pop() shift(). Pierwsza powoduje usunięcie ostatniego elementu, zaś druga pierwszego. Ważne jest to, że obie funkcje zwracają usunięty element, a więc tak jakby go wyjmują z tablicy i nam dają. Poniższy przykład pokazuje właśnie jak wziąć te elementy co spowoduje ich usunięcie z tablicy i umieszczenie w odpowiednich zmiennych:

Po wykonaniu tego kodu w zmiennej ostatni znajdzie się wartość „ddd”, w zmiennej pierwszy będzie „aaa”, a tablica będzie zawierała dwuelementową listę: („bbb”, „ccc”).

3. Tablica asocjacyjna i pętla foreach

Czasami zachodzi potrzeba wybrania wszystkich kluczy i odpowiadających im wartości z tablicy asocjacyjnej. W tym celu można skorzystać z funkcji keys. Zwraca ona listę wszystkich kluczy w tablicy. Tak więc jeśli chcielibyśmy np. wypisać w kolejnych liniach wszystkie pary klucz-wartość to kod wyglądałby mniej więcej tak:

 4. Podsumowanie

W tej nietypowej części uzupełniłem część informacji związanych z tablicami. Jeśli macie więcej propozycji, uwag czy problemów do wytłumaczenia to jak zwykle polecam komentarze pod postem i na Facebooku, możecie też skorzystać z emaila contact@zajacmarek.com. Polajkowanie facebookowego fanpejdża pozwoli Wam też być na bieżąco z postami i ciekawymi informacjami ;)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *