oryginal-programowanie-w-ruby-od-podstaw_prubpo.pdf

(10068 KB) Pobierz
656508291 UNPDF
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!
656508291.001.png 656508291.002.png
Spis treci
Przedmowa .................................................................................... 15
O autorze ....................................................................................... 19
O redaktorach technicznych ........................................................... 21
Podzikowania ............................................................................... 23
Wprowadzenie ................................................................................ 25
Cz I Podstawy ..................................................................... 27
Rozdzia 1. Pierwsze kroki. Instalacja jzyka Ruby ............................................ 29
Instalowanie jzyka Ruby ............................................................................................... 30
Windows .................................................................................................................. 30
Apple Mac OS X ...................................................................................................... 33
Linux ........................................................................................................................ 35
Inne platformy .......................................................................................................... 37
Podsumowanie ................................................................................................................ 39
Rozdzia 2. Programowanie == zabawa.
Krótki przegld jzyka Ruby i zasad obiektowoci ........................... 41
Pierwsze kroki ................................................................................................................ 42
irb: interaktywny Ruby ............................................................................................. 42
Ruby to angielski dla komputerów ........................................................................... 43
Dlaczego Ruby jest doskonaym jzykiem programowania? ................................... 43
cieki umysu ......................................................................................................... 44
Zapisywanie pomysów w kodzie ródowym jzyka Ruby ........................................... 46
Jak Ruby interpretuje rzeczy za pomoc obiektów i klas ......................................... 47
Tworzenie osoby ...................................................................................................... 47
Podstawowe zmienne ............................................................................................... 49
Od osób do zwierzt ................................................................................................. 50
Wszystko jest obiektem .................................................................................................. 53
Metody klasy Kernel ................................................................................................ 55
Przekazywanie danych do metod ............................................................................. 55
Metody klasy String ................................................................................................. 56
Korzystanie z jzyka Ruby z pominiciem orientacji obiektowej .................................. 58
Podsumowanie ................................................................................................................ 59
6
Programowanie w Ruby. Od podstaw
Rozdzia 3. Podstawowe konstrukcje jzyka Ruby:
dane, wyraenia i przepyw sterowania ............................................ 61
Liczby i wyraenia ......................................................................................................... 61
Podstawowe wyraenia ............................................................................................ 62
Zmienne ................................................................................................................... 62
Operatory i wyraenia porównywania ...................................................................... 64
Iterowanie przez liczby przy uyciu bloków i iteratorów ......................................... 65
Liczby zmiennoprzecinkowe .................................................................................... 67
Stae ..........................................................................................................................68
Tekst i cigi znaków ....................................................................................................... 69
Literay cigów znaków ........................................................................................... 69
Wyraenia z cigami znaków ................................................................................... 71
Interpolacja ............................................................................................................... 72
Metody klasy String ................................................................................................. 73
Wyraenia regularne i manipulowanie cigami znaków .......................................... 74
Tablice i listy .................................................................................................................. 80
Tablice podstawowe ................................................................................................. 80
Dzielenie cigów znaków na tablice ........................................................................ 82
Iterowanie w tablicy ................................................................................................. 83
Inne metody stosowane do dziaania na tablicach .................................................... 84
Tablice asocjacyjne ........................................................................................................ 86
Podstawowe metody do obsugi tablic asocjacyjnych .............................................. 86
Tablice asocjacyjne z tablicami asocjacyjnymi ........................................................ 88
Przepyw 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
Due liczby ............................................................................................................... 98
Zakresy ................................................................................................................... 100
Symbole ................................................................................................................. 101
Przeksztacanie klas ................................................................................................ 102
Podsumowanie .............................................................................................................. 103
Rozdzia 4. Prosta aplikacja w jzyku Ruby ..................................................... 105
Praca z plikami zawierajcymi kod ródowy .............................................................. 105
Tworzenie pliku testowego ..................................................................................... 106
Testowy plik z kodem ródowym ......................................................................... 107
Wykonywanie kodu ródowego ............................................................................ 108
Pierwsza aplikacja: analizator tekstu ............................................................................ 111
Podstawowe funkcje aplikacji ................................................................................ 111
Implementacja aplikacji ......................................................................................... 112
Uzyskanie przykadowego 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 wartoci rednich .................................................................................. 119
Kod ródowy aplikacji .......................................................................................... 119
Spis treci
7
Dodatkowe funkcje aplikacji ........................................................................................ 120
Procent sów „znaczcych” .................................................................................... 120
Podsumowanie prezentujce zdania „znaczce” .................................................... 122
Analiza plików innych ni text.txt .......................................................................... 124
Program w wersji finalnej ............................................................................................. 125
Podsumowanie .............................................................................................................. 127
Rozdzia 5. Ekosystem jzyka Ruby ................................................................ 129
Historia jzyka Ruby .................................................................................................... 129
Kraj Wschodzcego Soca .................................................................................... 130
Korzenie jzyka 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
Doczanie do spoecznoci .......................................................................................... 140
wiadczenie pomocy innym ................................................................................... 141
Dzielenie si kodem ródowym ............................................................................ 141
Blogi ....................................................................................................................... 142
Podsumowanie .............................................................................................................. 143
Cz II Rdze jzyka Ruby ..................................................... 145
Rozdzia 6. Klasy, obiekty i moduy ................................................................ 147
Po co uywa orientacji obiektowej? ............................................................................ 147
Podstawy orientacji obiektowej .................................................................................... 150
Zmienne lokalne, globalne, obiektu i klasy ............................................................ 151
Metody klasy a metody obiektu ............................................................................. 155
Dziedziczenie ......................................................................................................... 157
Nadpisywanie istniejcych metod .......................................................................... 159
Refleksja i odkrywanie metod dostpnych w obiektach ......................................... 161
Enkapsulacja .......................................................................................................... 162
Wielopostaciowo ................................................................................................. 167
Klasy zagniedone ................................................................................................ 168
Zasig staych ......................................................................................................... 169
Moduy, przestrzenie nazw i wczanie kodu ............................................................... 170
Przestrzenie nazw ................................................................................................... 170
Wczanie kodu ...................................................................................................... 173
Obiektowa tekstowa gra przygodowa ........................................................................... 180
Idea gry .................................................................................................................. 180
Klasy pocztkowe .................................................................................................. 180
Struktury: proste klasy danych ............................................................................... 182
Tworzenie komnat .................................................................................................. 184
Uruchamianie gry ................................................................................................... 185
Podsumowanie .............................................................................................................. 188
8
Programowanie w Ruby. Od podstaw
Rozdzia 7. Projekty i biblioteki ...................................................................... 191
Projekty i wykorzystanie kodu z innych plików ........................................................... 191
Proste doczanie pliku ........................................................................................... 192
Doczanie kodu z innych katalogów ..................................................................... 193
Logika programu a doczanie kodu ...................................................................... 194
Doczenia zagniedone ....................................................................................... 195
Biblioteki ...................................................................................................................... 195
Biblioteki standardowe ........................................................................................... 196
RubyGems .............................................................................................................. 198
Podsumowanie .............................................................................................................. 207
Rozdzia 8. Tworzenie dokumentacji, obsuga bdów,
debugowanie i testowanie ............................................................ 209
Tworzenie dokumentacji .............................................................................................. 209
Generowanie dokumentacji przy uyciu RDoc ...................................................... 210
Techniki pracy z RDoc ........................................................................................... 212
Debugowanie i bdy .................................................................................................... 215
Wyjtki i obsuga bdów ....................................................................................... 215
Metody catch i throw .............................................................................................. 219
Debuger jzyka 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 wydajnoci ......................................................................... 230
Profilowanie ........................................................................................................... 232
Podsumowanie .............................................................................................................. 233
Rozdzia 9. Pliki i bazy danych ....................................................................... 237
Wejcie i wyjcie .......................................................................................................... 237
Dane wejciowe z klawiatury ................................................................................. 238
Wejcie i wyjcie 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 jzyk SQL ............................................................................. 259
Idea relacyjnych baz danych .................................................................................. 260
Wielka czwórka: MySQL, PostgreSQL, Oracle i SQLite ...................................... 261
Instalacja SQLite .................................................................................................... 262
Krótki kurs podstawowych czynnoci w bazie danych i jzyka SQL ..................... 262
Korzystanie z SQLite w jzyku Ruby .................................................................... 267
czenie si z innymi systemami zarzdzania bazami danych ............................... 271
ActiveRecord. Krótki opis ...................................................................................... 276
Podsumowanie .............................................................................................................. 277
Rozdzia 10. Wdraanie aplikacji i bibliotek jzyka Ruby ................................... 281
Dystrybucja prostych programów napisanych w Ruby ................................................. 281
Wiersz ze ciek dostpu do interpretera .............................................................. 283
Skojarzone typy plików w systemie Windows ....................................................... 284
„Kompilowanie” kodu jzyka Ruby ....................................................................... 284
Wykrywanie rodowiska wykonawczego jzyka 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