Perl_dla_srednio_zaawansowanych_perlsz.pdf

(220 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TREœCI
Perl dla œrednio
zaawansowanych
Autorzy: Randal L. Schwartz, Brian d foy, Tom Phoenix
T³umaczenie: Tomasz Walczak
ISBN: 83-246-0615-7
Tytu³ orygina³u:
Intermediate Perl
Format: B5, stron: 264
Poznaj zasady programowania obiektowego w Perlu
• Utwórz i wykorzystaj modu³y
• Opanuj tajniki stosowania przestrzeni nazw
• Umieœæ dystrybucje swoich programów w archiwum CPAN
Perl jest uniwersalnym i skutecznym jêzykiem programowania maj¹cym wiele
zastosowañ. Mo¿na wykorzystywaæ go do zarz¹dzania systemami, tworzyæ za jego
pomoc¹ dynamiczne witryny internetowe i manipulowaæ danymi zgromadzonymi
w tabelach baz danych. Programiœci stosuj¹cy Perla twierdz¹, ¿e dziêki niemu ³atwe
zadania staj¹ siê jeszcze ³atwiejsze, a trudne — wykonalne. Mimo i¿ Perl by³ projektowany
jako jêzyk nieobiektowy, mo¿na podczas programowania w nim stosowaæ równie¿
koncepcje obiektowe. Aby jednak u¿ywaæ obiektowego jêzyka Perl, najpierw warto
zrozumieæ dzia³anie pakietów, referencji, tablic asocjacyjnych, tablic, procedur
i modu³ów.
Dziêki ksi¹¿ce „Perl dla œrednio zaawansowanych” poznasz wszystkie komponenty
jêzyka stanowi¹ce podstawê jego obiektowych w³aœciwoœci. Czytaj¹c j¹, nauczysz siê
korzystaæ z modu³ów i referencji, manipulowaæ z³o¿onymi strukturami danych za
pomoc¹ pakietu Data::Dumper oraz pracowaæ z systemem plików. Przyswoisz sobie
zasady programowania obiektowego oraz dowiesz siê, jak w Perlu tworzyæ obiekty
i usuwaæ je oraz budowaæ aplikacje o skomplikowanej strukturze. Przeczytasz tak¿e
o testowaniu kodu, opracowywaniu dystrybucji i umieszczaniu ich w archiwach CPAN.
• Obs³uga list za pomoc¹ operatorów
• Instalowanie modu³ów z archiwów CPAN
• Korzystanie z modu³ów
• Tworzenie tablic anonimowych i asocjacyjnych
• Wyœwietlanie i przetwarzanie z³o¿onych danych
• Obs³uga plików i katalogów za pomoc¹ referencji
• Sortowanie
• Obiekty i egzemplarze
• Wywo³ywanie metod
• Usuwanie obiektów
• Tworzenie dystrybucji
• Pisanie skryptów testowych
• Tworzenie w³asnych modu³ów Test::*
Poznaj obiektowe w³aœciwoœci jêzyka Perl
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOœCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Spis treści
Przedmowa ..................................................................................................................... 9
Wstęp .............................................................................................................................11
1. Wprowadzenie ..............................................................................................................17
Co powinieneś umieć?
Po co są przypisy?
A co z
ćwiczeniami?
Co powinieneś zrobić, jeśli prowadzisz zajęcia z języka Perl?
18
18
18
19
2. Podstawy dla
średnio
zaawansowanych .....................................................................21
Operatory do obsługi list
Przechwytywanie błędów przy użyciu funkcji eval
Dynamiczne kodowanie przy użyciu funkcji eval
Ćwiczenia
21
24
25
26
3. Używanie modułów ..................................................................................................... 29
Dystrybucja standardowa
Używanie modułów
Interfejsy funkcyjne
Wybór importowanych elementów
Interfejsy obiektowe
Bardziej typowy moduł obiektowy — Math::BigInt
Archiwum CPAN
Instalowanie modułów z archiwum CPAN
Ustawianie
ścieżki
w odpowiednim momencie
Ćwiczenia
29
30
30
31
32
32
33
33
35
37
3
4. Wprowadzenie do referencji ....................................................................................... 39
Wykonywanie tych samych operacji na wielu tablicach
Pobieranie referencji do tablicy
Dereferencja referencji do tablicy
Pozbywanie się nawiasów
Modyfikowanie tablic
Zagnieżdżone struktury danych
Upraszczanie referencji do zagnieżdżonych elementów przy użyciu strzałek
Referencje do tablic asocjacyjnych
Ćwiczenia
39
41
42
43
44
44
46
47
49
5. Referencje i zasięg .........................................................................................................51
Wiele referencji do tych samych danych
Co się stanie, jeśli to była ta nazwa?
Zliczanie referencji a zagnieżdżone struktury danych
Co zrobić, kiedy zliczanie referencji nie działa?
Bezpośrednie tworzenie tablic anonimowych
Tworzenie anonimowych tablic asocjacyjnych
Automatyczne tworzenie referencji anonimowych
Automatyczne tworzenie anonimowych referencji i tablice asocjacyjne
Ćwiczenia
51
52
53
55
56
59
60
63
64
6. Manipulowanie złożonymi strukturami danych ........................................................ 67
Używanie debugera do wyświetlania złożonych danych
Wyświetlanie złożonych danych przy użyciu pakietu Data::Dumper
YAML
Zapisywanie złożonych danych przy użyciu modułu Storable
Używanie operatorów map i grep
Warstwa pośrednia
Wybieranie i modyfikowanie złożonych danych
Ćwiczenia
67
71
73
73
75
75
77
78
7. Referencje do procedur ................................................................................................ 79
Referencje do procedur nazwanych
Procedury anonimowe
Wywołania zwrotne
Domknięcia
Zwracanie procedury przez procedurę
Zmienne domknięcia jako dane wejściowe
Zmienne domknięcia jako statyczne zmienne lokalne
Ćwiczenie
79
83
85
85
87
90
90
91
4
|
Spis treści
8. Referencje do uchwytów plików ................................................................................. 93
Dawna technika
Lepszy sposób
Jeszcze lepszy sposób
IO::Handle
Referencje do uchwytów katalogów
Ćwiczenia
93
94
95
95
100
100
9. Przydatne sztuczki z referencjami ............................................................................ 103
Przegląd technik sortowania
Sortowanie przy użyciu indeksów
Wydajne sortowanie
Transformacje Schwartza
Wielopoziomowe sortowanie przy użyciu transformacji Schwartza
Rekurencyjnie zdefiniowane dane
Tworzenie rekurencyjnie zdefiniowanych danych
Wyświetlanie rekurencyjnie zdefiniowanych danych
Ćwiczenia
103
105
106
107
108
108
110
112
113
10. Tworzenie większych programów ............................................................................. 115
Lekarstwo na powtarzający się kod
Wstawianie kodu przy użyciu funkcji eval
Używanie instrukcji do
Używanie instrukcji require
Instrukcja require i tablica @INC
Problem z kolizjami przestrzeni nazw
Pakiety jako separatory przestrzeni nazw
Zasięg dyrektywy package
Pakiety i zmienne leksykalne
Ćwiczenia
115
116
117
118
120
122
123
125
126
126
11. Wprowadzenie do obiektów ..................................................................................... 129
Gdybyśmy mogli rozmawiać ze zwierzętami…
Wywoływanie metod przy użyciu strzałki
Dodatkowy parametr wywołania metody
Wywoływanie drugiej metody w celu uproszczenia kodu
Kilka uwag o tablicy @ISA
Przesłanianie metod
Rozpoczynanie przeszukiwania od innego miejsca
SUPER sposób
Co zrobić ze zmienną @_?
Gdzie doszliśmy?
Ćwiczenia
Spis treści
|
129
130
132
132
133
134
136
137
137
138
138
5
12. Obiekty z danymi ........................................................................................................ 139
Koń to koń — ale czy na pewno?
Wywoływanie metod egzemplarza
Dostęp do danych egzemplarza
Jak utworzyć konia?
Dziedziczenie konstruktora
Tworzenie metod działających zarówno z klasami, jak i z egzemplarzami
Dodawanie parametrów do metod
Ciekawsze egzemplarze
Koń o innym kolorze
Pobieranie zapisanych danych
Nie zaglądaj do pudełka
Szybsze metody pobierające i ustawiające wartość
Metody pobierające wartości pełniące funkcje metod ustawiających wartość
Metody działające tylko dla klasy lub tylko dla egzemplarza
Ćwiczenie
139
140
141
141
142
143
143
144
145
146
147
148
148
149
150
13. Usuwanie obiektów .................................................................................................... 151
Porządkowanie po sobie
Usuwanie obiektów zagnieżdżonych
Konie nie do zajechania
Zapis dla obiektów pośrednich
Dodatkowe zmienne egzemplarza w klasach pochodnych
Używanie zmiennych klasy
Osłabianie argumentów
Ćwiczenie
151
153
155
156
158
160
161
163
14. Wybrane zaawansowane zagadnienia z programowania obiektowego .............. 165
Metody UNIVERSAL
Testowanie poprawności działania obiektów
Metoda AUTOLOAD jako ostatnia deska ratunku
Używanie metody AUTOLOAD do obsługi akcesorów
Łatwiejszy
sposób tworzenia metod pobierających i ustawiających wartości
Dziedziczenie wielokrotne
Ćwiczenia
165
166
167
168
169
171
171
15. Eksportowanie .............................................................................................................173
Jak działa instrukcja use?
Importowanie przy użyciu modułu Exporter
Tablice @EXPORT i @EXPORT_OK
Tablica asocjacyjna %EXPORT_TAGS
173
174
175
176
6
|
Spis treści
Zgłoś jeśli naruszono regulamin