Kurs Perl – cz. 7

Lecimy dalej z kursem Perla. Jak mówi tytuł tego wpisu, to już siódma część! Niezmiennie zakładam, że czytając tą serię wiesz co nieco o programowaniu, tak, że czytasz to żeby poznać nową składnię, nie zaś nauczyć się programowania jako takiego. I tak samo niezmiennie liczę, że jeśli podoba Ci się to co piszę to dasz lajka, zostawisz komentarz czy udostępnisz znajomym ;)

1. Wstęp

W tej części poruszę temat, który przyda Ci się przy tworzeniu dłuższych niż kilka linijek programów. Mianowicie powiem o podprogramach czyli funkcjach i procedurach.

Czym się różni funkcja od procedury? Właściwie jednym szczegółem, funkcja zawsze zwraca wartość zaś procedura niekoniecznie. Ale zwykle wbrew tej zasadzie korzysta się z tych pojęć zamiennie.

 2. Używanie funkcji

Zaczynam od używania podprogramów ponieważ jest to coś z czym już mieliśmy do czynienia w poprzednich częściach i warto to jedynie trochę doprecyzować.

Zasadniczo wywołanie funkcji nie różni się od sposobu znanego z innych popularnych języków:

Czyli nazwa subprogramu, a potem w nawiasach parametry oddzielone przecinkiem. Ewentualnie dla funkcji predeklarowanych można użyć zapisu bez nawiasów:

Jeśli funkcja zwraca jakąś wartość możesz ją po prostu przypisać do zmiennej:

 3. Własne funkcje

Jeśli chcesz definiować własne podprogramy musisz skorzystać z poniższego zapisu:

Słowo „sub” jest słowem kluczowym Perla, po nim podajemy nazwę naszej funkcji, którą może być dowolny ciąg znaków i liczb nie będący słowem kluczowym języka, a między nawiasami klamrowymi jej ciało czyli wszystko to co będzie robiła. Jeśli chcesz żeby funkcja zwróciła jakiś wynik musisz skorzystać ze słowa return:

Pewnie zapytasz dlaczego nigdzie nie podałem ile argumentów i o jakich nazwach będzie przyjmowała nasza funkcja. W Perlu przesyłane argumenty nie posiadają nazw, a określanie ilości argumentów chociaż możliwe to jest rzadko używane dlatego nie będę o nim wspominał.

Przekazywane do metody parametry zapisywane są w specjalnej tablicy ‚@_’. Warto jednak od razu zapisać je w „naszych” zmiennych tak żeby łatwo można było się do nich dobrać przez nazwy. Można to zrobić np. tak:

Powyższy zapis spowoduje, że dwa pierwsze parametry przekazane do subprogramu zostaną zapisane w zmiennych zmienna1zmienna2. Funkcja my, o której wcześniej nie wspominałem służy do deklarowania zmiennych jako lokalnych.

W Perlu domyślnie wszystkie tworzone zmienne mają zakres globalny, tzn. są widziane w każdym miejscu w kodzie. Żeby ograniczyć ich zakres do aktualnego bloku wyznaczonego przez nawiasy klamrowe musimy skorzystać z funkcji ‚my’. Jeśli chcesz aby wszystkie zmienne tworzone w programie były domyślnie lokalne możesz, zamiast dodawania ‚my’ przed każdą z nich, dopisać na początku linię: „use strict;”, która zadziała właśnie tak jakbyś dla każdej nowo tworzonej zmiennej używał funkcji ‚my’.

3.1 Wywoływanie podprogramów w podporgramach

W Perlu możesz oczywiście używać wewnątrz funkcji innych funkcji dostępnych w programie. Co więcej, poza wywołaniem innych funkcji można również skorzystać z rekurencji, a więc nakazać funkcji wywołania samej siebie.

4. Podsumowanie

Poznane dzisiaj zagadnienia związane z metodami na pewno pozwolą Ci lepiej panować nad porządkiem w kodzie i dzięki temu umożliwią pisanie dłuższych programów bez bólu głowy spowodowanego bałaganem i wielokrotnym kopiowaniem fragmentów kodu.

2 przemyślenia nt. „Kurs Perl – cz. 7

    1. Co prawda ograniczyłem ostatnio techniczne wpisy jednak widzę, że kurs perla jest dosyć popularny więc jak najbardziej postaram się coś w tym kierunku przygotować :)

Dodaj komentarz

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