Programowanie_w_Ruby_Od_podstaw_prubpo.pdf

(369 KB) Pobierz
Programowanie
w Ruby. Od podstaw
Autor: Peter Cooper
T³umaczenie: Daniel Kaczmarek
ISBN: 978-83-246-1953-5
Tytu³ orygina³u:
Beginning Ruby:
From Novice to Professional
Format: 158×235, stron: 608
Poznaj mo¿liwoœci Ruby!
• Jak rozpocz¹æ przygodê z Ruby?
• Jakie mo¿liwoœci daje Ruby on Rails?
• Jak wykorzystaæ bazy danych w tym jêzyku?
Co sprawi³o, ¿e nieufne zwykle œrodowisko programistów przyjê³o Ruby z entuzjazmem?
Jakie to unikalne mo¿liwoœci posiada ów jêzyk? OdpowiedŸ jest prosta – jego g³ówne
atuty to przejrzysta i elastyczna sk³adnia z wbudowanymi wyra¿eniami regularnymi,
automatyczne oczyszczanie pamiêci oraz przeci¹¿anie operatorów. Ponadto skupiona
wokó³ Ruby ogromna i chêtna do pomocy spo³ecznoœæ sprawia, ¿e to rozwi¹zanie staje
siê jeszcze bardziej atrakcyjne i rozwojowe. „Programowanie w Ruby. Od podstaw” to
ksi¹¿ka, która pomo¿e Ci zorientowaæ siê w specyfice tego jêzyka.
Zanim rozpoczniesz przygodê z Ruby, warto dowiedzieæ siê, jak przygotowaæ swoje
œrodowisko pracy, oraz poznaæ podstawowe zagadnienia zwi¹zane z programowaniem
obiektowym. Po krótkim wstêpie przejdziesz do konkretów – zapoznasz siê ze sk³adni¹,
podstawowymi konstrukcjami oraz metodami sterowania przep³ywem. Zdobêdziesz tak¿e
wiedzê na temat wykonywania operacji na plikach i bazach danych oraz mo¿liwoœci
Ruby w zastosowaniach sieciowych. Nauczysz siê tworzyæ strukturê projektu, przygotowywaæ
dokumentacjê, wyszukiwaæ przydatne biblioteki. Z pewnoœci¹ zainteresuje Ciê rozdzia³
poœwiêcony Ruby on Rails – szkieletowi aplikacyjnemu, który niew¹tpliwie mia³ swój
wp³yw na wzrost popularnoœci tego jêzyka. To wszystko pozwoli Ci na swobodne
wykorzystanie mo¿liwoœci jêzyka Ruby w codziennej pracy!
• Przygotowanie œrodowiska pracy
• Podstawowe zagadnienia z dziedziny programowania obiektowego
• Sk³adnia i konstrukcje jêzyka Ruby
• Sterowanie przep³ywem
• Tworzenie dokumentacji
• Obs³uga b³êdów, testowanie i debugowanie aplikacji
• Obs³uga plików
• Wykorzystanie baz danych
• Mo¿liwoœci i zastosowanie Ruby on Rails
• Wykorzystanie zasobów sieci Internet w Ruby
• Obs³uga sieci, gniazd i demonów
• Przydatne pakiety i biblioteki w Ruby
Poznaj Ruby — od podstaw do perfekcji!
Spis tre ci
Przedmowa .................................................................................... 15
O autorze ....................................................................................... 19
O redaktorach technicznych ........................................................... 21
Podziökowania ............................................................................... 23
Wprowadzenie ................................................................................ 25
Czö è I
Podstawy ..................................................................... 27
Instalowanie j zyka Ruby ............................................................................................... 30
Windows .................................................................................................................. 30
Apple Mac OS X ...................................................................................................... 33
Linux ........................................................................................................................ 35
Inne platformy .......................................................................................................... 37
Podsumowanie ................................................................................................................ 39
Rozdziaä 1. Pierwsze kroki. Instalacja jözyka Ruby ............................................ 29
Rozdziaä 2. Programowanie == zabawa.
Krótki przeglñd jözyka Ruby i zasad obiektowo ci ........................... 41
Pierwsze kroki ................................................................................................................ 42
irb: interaktywny Ruby ............................................................................................. 42
Ruby to angielski dla komputerów ........................................................................... 43
Dlaczego Ruby jest doskonaáym j zykiem programowania? ................................... 43
cie ki umysáu ......................................................................................................... 44
Zapisywanie pomysáów w kodzie ródáowym j zyka Ruby ........................................... 46
Jak Ruby interpretuje rzeczy za pomoc obiektów i klas ......................................... 47
Tworzenie osoby ...................................................................................................... 47
Podstawowe zmienne ............................................................................................... 49
Od osób do zwierz t ................................................................................................. 50
Wszystko jest obiektem .................................................................................................. 53
Metody klasy Kernel ................................................................................................ 55
Przekazywanie danych do metod ............................................................................. 55
Metody klasy String ................................................................................................. 56
Korzystanie z j zyka Ruby z pomini ciem orientacji obiektowej .................................. 58
Podsumowanie ................................................................................................................ 59
6
Programowanie w Ruby. Od podstaw
Rozdziaä 3. Podstawowe konstrukcje jözyka Ruby:
dane, wyra enia i przepäyw sterowania ............................................ 61
Liczby i wyra enia ......................................................................................................... 61
Podstawowe wyra enia ............................................................................................ 62
Zmienne ................................................................................................................... 62
Operatory i wyra enia porównywania ...................................................................... 64
Iterowanie przez liczby przy u yciu bloków i iteratorów ......................................... 65
Liczby zmiennoprzecinkowe .................................................................................... 67
Staáe .......................................................................................................................... 68
Tekst i ci gi znaków ....................................................................................................... 69
Literaáy ci gów znaków ........................................................................................... 69
Wyra enia z ci gami znaków ................................................................................... 71
Interpolacja ............................................................................................................... 72
Metody klasy String ................................................................................................. 73
Wyra enia regularne i manipulowanie ci gami znaków .......................................... 74
Tablice i listy .................................................................................................................. 80
Tablice podstawowe ................................................................................................. 80
Dzielenie ci gów znaków na tablice ........................................................................ 82
Iterowanie w tablicy ................................................................................................. 83
Inne metody stosowane do dziaáania na tablicach .................................................... 84
Tablice asocjacyjne ........................................................................................................ 86
Podstawowe metody do obsáugi tablic asocjacyjnych .............................................. 86
Tablice asocjacyjne z tablicami asocjacyjnymi ........................................................ 88
Przepáyw sterowania ....................................................................................................... 89
Instrukcje if i unless ................................................................................................. 89
Operator trójargumentowy ?: ................................................................................... 90
Instrukcje elsif oraz case .......................................................................................... 91
Instrukcje while i until .............................................................................................. 92
Bloki kodu ................................................................................................................ 93
Inne przydatne konstrukcje ............................................................................................. 95
Daty i czas ................................................................................................................ 95
Du e liczby ............................................................................................................... 98
Zakresy ................................................................................................................... 100
Symbole ................................................................................................................. 101
Przeksztaácanie klas ................................................................................................ 102
Podsumowanie .............................................................................................................. 103
Rozdziaä 4. Prosta aplikacja w jözyku Ruby ..................................................... 105
Praca z plikami zawieraj cymi kod ródáowy .............................................................. 105
Tworzenie pliku testowego ..................................................................................... 106
Testowy plik z kodem ródáowym ......................................................................... 107
Wykonywanie kodu ródáowego ............................................................................ 108
Pierwsza aplikacja: analizator tekstu ............................................................................ 111
Podstawowe funkcje aplikacji ................................................................................ 111
Implementacja aplikacji ......................................................................................... 112
Uzyskanie przykáadowego tekstu ........................................................................... 112
àadowanie plików tekstowych i zliczanie wierszy ................................................. 113
Zliczanie znaków .................................................................................................... 114
Zliczanie sáów ........................................................................................................ 115
Zliczanie zda i akapitów ....................................................................................... 117
Obliczenie warto ci rednich .................................................................................. 119
Kod ródáowy aplikacji .......................................................................................... 119
Spis tre ci
7
Dodatkowe funkcje aplikacji ........................................................................................ 120
Procent sáów „znacz cych” .................................................................................... 120
Podsumowanie prezentuj ce zdania „znacz ce” .................................................... 122
Analiza plików innych ni text.txt .......................................................................... 124
Program w wersji finalnej ............................................................................................. 125
Podsumowanie .............................................................................................................. 127
Rozdziaä 5. Ekosystem jözyka Ruby ................................................................ 129
Historia j zyka Ruby .................................................................................................... 129
Kraj Wschodz cego Sáo ca .................................................................................... 130
Korzenie j zyka Ruby ............................................................................................ 131
Inwazja na Zachód ................................................................................................. 132
Ruby on Rails ............................................................................................................... 133
Po co utworzono platform Rails ........................................................................... 134
Jak zdobyto Web 2.0 .............................................................................................. 135
Kultura Open Source .................................................................................................... 135
Na czym polega ruch Open Source? ....................................................................... 136
Gdzie i jak uzyskaü pomoc? ......................................................................................... 137
Listy dystrybucyjne ................................................................................................ 137
Grupy dyskusyjne Usenet ....................................................................................... 138
Internet Relay Chat (IRC) ...................................................................................... 138
Dokumentacja ........................................................................................................ 139
Fora ........................................................................................................................ 140
Doá czanie do spoáeczno ci .......................................................................................... 140
wiadczenie pomocy innym ................................................................................... 141
Dzielenie si kodem ródáowym ............................................................................ 141
Blogi ....................................................................................................................... 142
Podsumowanie .............................................................................................................. 143
Czö è II
Rdzeþ jözyka Ruby ..................................................... 145
Po co u ywaü orientacji obiektowej? ............................................................................ 147
Podstawy orientacji obiektowej .................................................................................... 150
Zmienne lokalne, globalne, obiektu i klasy ............................................................ 151
Metody klasy a metody obiektu ............................................................................. 155
Dziedziczenie ......................................................................................................... 157
Nadpisywanie istniej cych metod .......................................................................... 159
Refleksja i odkrywanie metod dost pnych w obiektach ......................................... 161
Enkapsulacja .......................................................................................................... 162
Wielopostaciowo ü ................................................................................................. 167
Klasy zagnie d one ................................................................................................ 168
Zasi g staáych ......................................................................................................... 169
Moduáy, przestrzenie nazw i wá czanie kodu ............................................................... 170
Przestrzenie nazw ................................................................................................... 170
Wá czanie kodu ...................................................................................................... 173
Obiektowa tekstowa gra przygodowa ........................................................................... 180
Idea gry .................................................................................................................. 180
Klasy pocz tkowe .................................................................................................. 180
Struktury: proste klasy danych ............................................................................... 182
Tworzenie komnat .................................................................................................. 184
Uruchamianie gry ................................................................................................... 185
Podsumowanie .............................................................................................................. 188
Rozdziaä 6. Klasy, obiekty i moduäy ................................................................ 147
8
Programowanie w Ruby. Od podstaw
Rozdziaä 7. Projekty i biblioteki ...................................................................... 191
Projekty i wykorzystanie kodu z innych plików ........................................................... 191
Proste doá czanie pliku ........................................................................................... 192
Doá czanie kodu z innych katalogów ..................................................................... 193
Logika programu a doá czanie kodu ...................................................................... 194
Doá czenia zagnie d one ....................................................................................... 195
Biblioteki ...................................................................................................................... 195
Biblioteki standardowe ........................................................................................... 196
RubyGems .............................................................................................................. 198
Podsumowanie .............................................................................................................. 207
Rozdziaä 8. Tworzenie dokumentacji, obsäuga bäödów,
debugowanie i testowanie ............................................................ 209
Tworzenie dokumentacji .............................................................................................. 209
Generowanie dokumentacji przy u yciu RDoc ...................................................... 210
Techniki pracy z RDoc ........................................................................................... 212
Debugowanie i bá dy .................................................................................................... 215
Wyj tki i obsáuga bá dów ....................................................................................... 215
Metody catch i throw .............................................................................................. 219
Debuger j zyka Ruby ............................................................................................. 220
Testowanie .................................................................................................................... 223
Filozofia programowania sterowanego testami ...................................................... 224
Testy jednostkowe .................................................................................................. 226
Inne asercje biblioteki Test::Unit ........................................................................... 228
Testy wzorcowe i profilowanie .................................................................................... 229
Proste wzorcowe testy wydajno ci ......................................................................... 230
Profilowanie ........................................................................................................... 232
Podsumowanie .............................................................................................................. 233
Rozdziaä 9. Pliki i bazy danych ....................................................................... 237
Wej cie i wyj cie .......................................................................................................... 237
Dane wej ciowe z klawiatury ................................................................................. 238
Wej cie i wyj cie do pliku ...................................................................................... 239
Proste bazy danych ....................................................................................................... 253
Bazy danych w postaci plików tekstowych ............................................................ 253
Przechowywanie obiektów i struktur danych ......................................................... 256
Relacyjne bazy danych i j zyk SQL ............................................................................. 259
Idea relacyjnych baz danych .................................................................................. 260
Wielka czwórka: MySQL, PostgreSQL, Oracle i SQLite ...................................... 261
Instalacja SQLite .................................................................................................... 262
Krótki kurs podstawowych czynno ci w bazie danych i j zyka SQL ..................... 262
Korzystanie z SQLite w j zyku Ruby .................................................................... 267
à czenie si z innymi systemami zarz dzania bazami danych ............................... 271
ActiveRecord. Krótki opis ...................................................................................... 276
Podsumowanie .............................................................................................................. 277
Rozdziaä 10. Wdra anie aplikacji i bibliotek jözyka Ruby ................................... 281
Dystrybucja prostych programów napisanych w Ruby ................................................. 281
Wiersz ze cie k dost pu do interpretera .............................................................. 283
Skojarzone typy plików w systemie Windows ....................................................... 284
„Kompilowanie” kodu j zyka Ruby ....................................................................... 284
Wykrywanie rodowiska wykonawczego j zyka Ruby ................................................ 286
àatwe wykrywanie systemu operacyjnego za pomoc zmiennej
RUBY_PLATFORM ........................................................................................... 287
Zmienne rodowiskowe .......................................................................................... 287
Odczytywanie argumentów wiersza polece .......................................................... 289
Zgłoś jeśli naruszono regulamin