Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00099 005893 13638068 na godz. na dobę w sumie
Programowanie w Ruby. Od podstaw - książka
Programowanie w Ruby. Od podstaw - książka
Autor: Liczba stron: 608
Wydawca: Helion Język publikacji: polski
ISBN: 83-246-1953-4 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> ruby - programowanie
Porównaj ceny (książka, ebook, audiobook).

Poznaj możliwości Ruby!

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!

Poznaj Ruby - od podstaw do perfekcji!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

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! (cid:129) Jak rozpocz¹æ przygodê z Ruby? (cid:129) Jakie mo¿liwoœci daje Ruby on Rails? (cid:129) 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! (cid:129) Przygotowanie œrodowiska pracy (cid:129) Podstawowe zagadnienia z dziedziny programowania obiektowego (cid:129) Sk³adnia i konstrukcje jêzyka Ruby (cid:129) Sterowanie przep³ywem (cid:129) Tworzenie dokumentacji (cid:129) Obs³uga b³êdów, testowanie i debugowanie aplikacji (cid:129) Obs³uga plików (cid:129) Wykorzystanie baz danych (cid:129) Mo¿liwoœci i zastosowanie Ruby on Rails (cid:129) Wykorzystanie zasobów sieci Internet w Ruby (cid:129) Obs³uga sieci, gniazd i demonów (cid:129) 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 Rozdziaä 1. Pierwsze kroki. Instalacja jözyka Ruby ............................................ 29 Instalowanie jĊzyka Ruby ............................................................................................... 30 Windows .................................................................................................................. 30 Apple Mac OS X ...................................................................................................... 33 Linux ........................................................................................................................ 35 Inne platformy .......................................................................................................... 37 Podsumowanie ................................................................................................................ 39 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 Rozdziaä 6. Klasy, obiekty i moduäy ................................................................ 147 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 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 Spis treĈci 9 UdostĊpnianie i dystrybuowanie bibliotek jĊzyka Ruby w postaci pakietów gem ........ 290 Tworzenie pakietu gem .......................................................................................... 291 Dystrybucja pakietu gem ........................................................................................ 295 RubyForge .............................................................................................................. 295 WdraĪanie aplikacji Ruby jako usáug zdalnych ............................................................ 296 Skrypty CGI ........................................................................................................... 296 Serwery HTTP ogólnego przeznaczenia ................................................................ 299 Zdalne wywoáania procedur ................................................................................... 303 Podsumowanie .............................................................................................................. 307 Rozdziaä 11. Zaawansowane mechanizmy jözyka Ruby ...................................... 309 Dynamiczne wykonywanie kodu .................................................................................. 309 Wiązania ................................................................................................................. 310 Inne postacie metody eval ...................................................................................... 311 Tworzenie wáasnej wersji attr_accessor ................................................................. 313 Wykonywanie innych programów z poziomu jĊzyka Ruby ......................................... 314 Odczytywanie wyników dziaáania innych programów ........................................... 314 Przekazywanie wykonania do innego programu .................................................... 315 Wykonywanie dwóch programów jednoczeĞnie .................................................... 315 Komunikacja z innym programem ......................................................................... 316 Bezpieczne przetwarzanie danych i niebezpiecznych metod ........................................ 317 Niebezpieczne dane i obiekty ................................................................................. 317 Poziomy zabezpieczeĔ ........................................................................................... 320 Praca z systemem Microsoft Windows ......................................................................... 321 Korzystanie z API systemu Windows .................................................................... 321 Kontrolowanie programów systemu Windows ....................................................... 323 Wątki ............................................................................................................................ 325 Podstawowe czynnoĞci z wykorzystaniem wątków Ruby ...................................... 325 Zaawansowane operacje z wykorzystaniem wątków ............................................. 326 Biblioteka RubyInline ................................................................................................... 328 Po co uĪywaü C jako jĊzyka wplatanego? .............................................................. 329 Tworzenie prostej metody lub funkcji .................................................................... 329 Testy wzorcowe wydajnoĞci kodu C i Ruby .......................................................... 331 Obsáuga Unicode i UTF-8 ............................................................................................ 332 Podsumowanie .............................................................................................................. 335 Rozdziaä 12. Zaawansowana aplikacja w jözyku Ruby ....................................... 337 Implementacja bota ...................................................................................................... 337 Czym jest bot? ........................................................................................................ 337 Dlaczego bot? ......................................................................................................... 339 Jak implementuje siĊ bota? ..................................................................................... 339 Biblioteka narzĊdzi do przetwarzania tekstu ................................................................ 340 Implementacja biblioteki WordPlay ....................................................................... 341 Testowanie biblioteki ............................................................................................. 346 Kod Ĩródáowy biblioteki WordPlay ........................................................................ 349 Implementacja gáównego moduáu bota ......................................................................... 351 Cykl Īycia programu i jego elementy ..................................................................... 352 Dane dla bota .......................................................................................................... 353 Implementacja klasy Bot oraz mechanizmu áadowania danych ............................. 357 Metoda response_to ................................................................................................ 358 Zabawa z botem ..................................................................................................... 363 Kod Ĩródáowy najwaĪniejszych elementów bota .......................................................... 366 bot.rb ...................................................................................................................... 367 basic_client.rb ........................................................................................................ 369 10 Programowanie w Ruby. Od podstaw Rozszerzanie bota ......................................................................................................... 369 Wykorzystanie plików tekstowych jako Ĩródáa danych wejĞciowych do rozmowy .............................................................................................................. 370 UdostĊpnienie bota w sieci WWW ......................................................................... 370 Rozmowy miĊdzy dwoma botami .......................................................................... 373 Podsumowanie .............................................................................................................. 374 CzöĈè III Ruby w sieci .............................................................. 375 Rozdziaä 13. Ruby on Rails: zabójcza aplikacja jözyka Ruby ............................... 377 Pierwsze kroki .............................................................................................................. 377 Czym jest platforma Rails i po co siĊ jej uĪywa? ................................................... 378 Instalacja platformy Rails ....................................................................................... 379 Bazy danych ........................................................................................................... 381 Implementacja pierwszej aplikacji Rails ...................................................................... 381 Tworzenie pustej aplikacji Rails ............................................................................. 381 Inicjalizacja bazy danych ....................................................................................... 385 Tworzenie modelu i migracji .................................................................................. 388 Scaffolding ............................................................................................................. 392 Kontrolery i widoki ................................................................................................ 395 Routing ................................................................................................................... 404 Relacje miĊdzy modelami ...................................................................................... 405 Sesje i filtry ............................................................................................................ 407 Pozostaáe funkcje .......................................................................................................... 409 Makiety .................................................................................................................. 409 Testowanie ............................................................................................................. 412 Moduáy rozszerzające ............................................................................................. 413 Dodatkowe zasoby i przykáadowe aplikacje ................................................................. 414 Witryny i samouczki .............................................................................................. 415 Przykáadowe aplikacje Rails ................................................................................... 415 Podsumowanie .............................................................................................................. 416 Rozdziaä 14. Ruby i internet ............................................................................. 419 HTTP i sieü WWW ....................................................................................................... 419 Pobieranie stron WWW .......................................................................................... 420 Generowanie stron WWW i kodu HTML .............................................................. 427 Przetwarzanie treĞci WWW ................................................................................... 432 Obsáuga poczty elektronicznej ...................................................................................... 437 Odczytywanie poczty przy uĪyciu POP3 ............................................................... 437 Wysyáanie wiadomoĞci pocztowych przy uĪyciu SMTP ........................................ 439 Wysyáanie wiadomoĞci pocztowych przy uĪyciu ActionMailer ............................. 441 Transfer plików przy uĪyciu protokoáu FTP ................................................................. 442 Nawiązywanie poáączenia i wykonywanie podstawowych czynnoĞci FTP ............ 443 Pobieranie plików ................................................................................................... 444 àadowanie plików na serwer .................................................................................. 445 Podsumowanie .............................................................................................................. 447 Rozdziaä 15. Obsäuga sieci, gniazd i demonów .................................................. 449 NajwaĪniejsze mechanizmy sieciowe ........................................................................... 449 TCP i UDP ............................................................................................................. 450 Adresy IP i DNS ..................................................................................................... 450 Podstawowe operacje sieciowe ..................................................................................... 451 Sprawdzanie dostĊpnoĞci komputera lub usáugi ..................................................... 451 Wykonywanie zapytaĔ DNS .................................................................................. 453 Nawiązywanie bezpoĞredniego poáączenia z serwerem TCP ................................. 455 Spis treĈci 11 Serwery i klienty .......................................................................................................... 457 Klient i serwer UDP ............................................................................................... 457 Implementacja prostego serwera TCP .................................................................... 459 Serwery TCP do obsáugi wiĊcej niĪ jednego klienta .............................................. 460 GServer .................................................................................................................. 462 Serwer czatów oparty na GServer .......................................................................... 465 Serwery WWW i HTTP ......................................................................................... 468 Demony .................................................................................................................. 468 Podsumowanie .............................................................................................................. 470 Rozdziaä 16. Przydatne biblioteki i pakiety gem jözyka Ruby ............................. 473 abbrev ........................................................................................................................... 475 Instalacja ................................................................................................................ 475 Przykáady ............................................................................................................... 475 Dodatkowe informacje ........................................................................................... 476 base64 ........................................................................................................................... 477 Instalacja ................................................................................................................ 477 Przykáady ............................................................................................................... 477 Dodatkowe informacje ........................................................................................... 479 BlueCloth ..................................................................................................................... 480 Instalacja ................................................................................................................ 480 Przykáady ............................................................................................................... 480 Dodatkowe informacje ........................................................................................... 481 cgi ................................................................................................................................. 482 Instalacja ................................................................................................................ 482 Przykáady ............................................................................................................... 482 Dodatkowe informacje ........................................................................................... 487 chronic .......................................................................................................................... 488 Instalacja ................................................................................................................ 488 Przykáady ............................................................................................................... 488 Dodatkowe informacje ........................................................................................... 489 Digest ........................................................................................................................... 490 Instalacja ................................................................................................................ 490 Przykáady ............................................................................................................... 490 Dodatkowe informacje ........................................................................................... 492 English .......................................................................................................................... 493 Instalacja ................................................................................................................ 493 Przykáady ............................................................................................................... 493 Dodatkowe informacje ........................................................................................... 494 ERB .............................................................................................................................. 495 Instalacja ................................................................................................................ 495 Przykáady ............................................................................................................... 495 Dodatkowe informacje ........................................................................................... 497 FasterCSV .................................................................................................................... 498 Instalacja ................................................................................................................ 498 Przykáady ............................................................................................................... 498 Dodatkowe informacje ........................................................................................... 502 iconv ............................................................................................................................. 503 Instalacja ................................................................................................................ 503 Przykáady ............................................................................................................... 503 Dodatkowe informacje ........................................................................................... 504 logger ............................................................................................................................ 505 Instalacja ................................................................................................................ 505 Przykáady ............................................................................................................... 505 Dodatkowe informacje ........................................................................................... 507 12 Programowanie w Ruby. Od podstaw pp .................................................................................................................................. 508 Instalacja ................................................................................................................ 508 Przykáady ............................................................................................................... 508 Dodatkowe informacje ........................................................................................... 509 RedCloth ....................................................................................................................... 510 Instalacja ................................................................................................................ 510 Przykáady ............................................................................................................... 510 Dodatkowe informacje ........................................................................................... 511 StringScanner ............................................................................................................... 512 Instalacja ................................................................................................................ 512 Przykáady ............................................................................................................... 512 Dodatkowe informacje ........................................................................................... 514 tempfile ......................................................................................................................... 515 Instalacja ................................................................................................................ 515 Przykáady ............................................................................................................... 515 Dodatkowe informacje ........................................................................................... 517 uri ................................................................................................................................. 518 Instalacja ................................................................................................................ 518 Przykáady ............................................................................................................... 518 Dodatkowe informacje ........................................................................................... 521 zlib ................................................................................................................................ 522 Instalacja ................................................................................................................ 522 Przykáady ............................................................................................................... 522 Dodatkowe informacje ........................................................................................... 523 Dodatki .................................................................................... 525 Dodatek A Podsumowanie mechanizmów jözyka Ruby dla programistów ........... 527 Podstawy ...................................................................................................................... 528 Definicje i pojĊcia .................................................................................................. 528 Interpreter jĊzyka Ruby i wykonywanie kodu Ruby .............................................. 529 Interactive Ruby ..................................................................................................... 530 WyraĪenia, logika i przepáyw sterowania ......................................................................... 531 Podstawowe wyraĪenia .......................................................................................... 531 NiezgodnoĞci klas .................................................................................................. 532 WyraĪenia porównawcze ....................................................................................... 533 Przepáyw sterowania .............................................................................................. 534 Orientacja obiektowa .................................................................................................... 538 Obiekty ................................................................................................................... 538 Klasy i metody ....................................................................................................... 539 Refleksja ................................................................................................................. 541 Ponowne otwieranie klas ........................................................................................ 542 WidocznoĞü metod ................................................................................................. 543 Dane ............................................................................................................................. 544 Ciągi znaków .......................................................................................................... 544 WyraĪenia regularne .............................................................................................. 545 Liczby ..................................................................................................................... 546 Tablice .................................................................................................................... 548 Tablice asocjacyjne ................................................................................................ 549 Struktury záoĪone ................................................................................................... 549 WejĞcie-wyjĞcie ............................................................................................................ 550 Pliki ........................................................................................................................ 550 Bazy danych ........................................................................................................... 551 Sieü WWW ............................................................................................................. 551 Spis treĈci 13 Biblioteki ...................................................................................................................... 552 Organizacja plików ................................................................................................ 552 Tworzenie pakietów ............................................................................................... 553 Dodatek B Przeglñd jözyka Ruby .................................................................... 555 Przydatne klasy i metody .............................................................................................. 555 Array ...................................................................................................................... 555 Bignum i Fixnum ................................................................................................... 557 Enumerable ............................................................................................................ 558 Float ....................................................................................................................... 559 Hash ....................................................................................................................... 559 Integer .................................................................................................................... 560 Numeric .................................................................................................................. 560 Object ..................................................................................................................... 561 String ...................................................................................................................... 562 Skáadnia wyraĪeĔ regularnych ...................................................................................... 564 Opcje wyraĪeĔ regularnych .................................................................................... 564 Specjalne znaki i formacje ..................................................................................... 565 Sufiksy znaków i podwyraĪeĔ ................................................................................ 565 Klasy wyjątków ............................................................................................................ 566 Zmienne specjalne ........................................................................................................ 568 Licencja jĊzyka Ruby ................................................................................................... 570 Dodatek C Przydatne Ēródäa informacji ........................................................... 573 Informacje ogólne ......................................................................................................... 573 Ruby ....................................................................................................................... 573 Ruby on Rails ......................................................................................................... 574 Blogi ............................................................................................................................. 575 Blogi spoáecznoĞciowe i spisy blogów ................................................................... 575 Blogi prywatne ....................................................................................................... 576 Fora i grupy dyskusyjne ............................................................................................... 577 Listy dystrybucyjne ...................................................................................................... 577 Czaty w czasie rzeczywistym ....................................................................................... 578 Samouczki i przewodniki ............................................................................................. 579 Instalacja ................................................................................................................ 579 Ruby i sposoby korzystania z niego ....................................................................... 580 Ruby on Rails ......................................................................................................... 581 Inne ........................................................................................................................ 582 Skorowidz .................................................................................... 583 Rozdziaä 4. Prosta aplikacja w jözyku Ruby Jak dotąd skupialiĞmy siĊ na podstawach jĊzyka Ruby i przedstawianiu jego mechanizmów na najbardziej podstawowym poziomie. W tym rozdziale przejdziemy juĪ do praktycz- nych zagadnieĔ związanych z implementacją aplikacji i opracujemy peáną, choü prostą aplikacjĊ w jĊzyku Ruby, która bĊdzie wykorzystywaü proste funkcje. Po zaimplemento- waniu i przetestowaniu prostej aplikacji przedstawione zostaną sposoby jej rozbudowy, tak by staáa siĊ bardziej uĪyteczna. W trakcie tworzenia aplikacji omówione zostaną nowe aspekty programowania, o których nie wspominano jeszcze we wczeĞniejszych rozdziaáach. Najpierw zostaną opisane podstawowe zagadnienia dotyczące organizacji kodu Ĩródáowe- go. Dopiero potem rozpoczniemy programowanie z prawdziwego zdarzenia. Praca z plikami zawierajñcymi kod Ēródäowy Dotychczas do nauki jĊzyka uĪywaliĞmy interaktywnego interpretera jĊzyka Ruby — irb. Jednak aby zaimplementowaü jakikolwiek program, którego bĊdzie moĪna uĪyü równieĪ w póĨniejszym czasie, kod Ĩródáowy programu trzeba zapisaü w pliku przechowywanym na dysku (albo przesyáanym w internecie, przechowywanym na páycie CD itp.). NarzĊdzia do tworzenia i manipulowania plikami z kodem Ĩródáowym zaleĪą od uĪywa- nego systemu operacyjnego oraz osobistych preferencji programisty. W systemie Windows do tworzenia i edycji plików tekstowych wystarczy znany wiĊkszoĞci uĪytkowników Notatnik. Z kolei w wierszu poleceĔ Linuksa moĪna skorzystaü z edytora vi, Emacs albo pico/nano. UĪytkownicy komputerów Mac mają do dyspozycji program TextEdit. Bez wzglĊdu na to, które narzĊdzie zostanie ostatecznie uĪyte, musi ono umoĪliwiaü tworzenie nowych plików i zapisywanie ich jako zwykáych plików tekstowych, aby 106 CzöĈè I i Podstawy interpreter jĊzyka Ruby mógá odpowiednio z nich korzystaü. W nastĊpnych kilku punk- tach przedstawione zostaną wybrane narzĊdzia dostĊpne dla kaĪdej z wymienionych plat- form, które nadają siĊ do tworzenia programów w jĊzyku Ruby. Tworzenie pliku testowego Pierwszym krokiem na drodze do utworzenia aplikacji w jĊzyku Ruby jest zaznajomienie siĊ z edytorem tekstu. Oto kilka wskazówek dotyczących najwaĪniejszych platform systemowych. Czytelnicy, którzy potrafią juĪ korzystaü z edytorów tekstu i wiedzą, jak pisze siĊ i zapi- suje kod Ĩródáowy, mogą od razu przejĞü do lektury punktu pod tytuáem „Testowy plik z kodem Ĩródáowym”. Windows JeĪeli wykonano przedstawione w rozdziale 1. instrukcje dotyczące pobrania i instalacji jĊzyka Ruby, w grupie programów Ruby w menu Start powinny byü dostĊpne dwa edytory tekstu o nazwach SciTE oraz FreeRIDE. SciTE to ogólne narzĊdzie do edycji kodu Ĩródáowego, natomiast FreeRIDE to edytor kodu Ĩródáowego w jĊzyku Ruby, zresztą równieĪ zaimplementowany w Ruby. SciTE dziaáa nieco szybciej, natomiast FreeRIDE jest wystarczająco szybki, aby wykonywaü w nim ogólne zadania programistyczne, a poza tym jest lepiej zintegrowany z interpreterem jĊzyka Ruby. Po uruchomieniu edytora otwierany jest pusty dokument, w którym moĪna zacząü wpisy- waü kod Ĩródáowy Ruby (we FreeRIDE nowy dokument tworzy siĊ przez wybranie odpowiedniego polecenia z menu File). W menu File znajdują siĊ równieĪ polecenia do zapisania kodu Ĩródáowego na dysku, co uczynimy w nastĊpnym punkcie. FreeRIDE pozwala ponadto zgrupowaü pojedyncze pliki z kodem w ramach jednego projektu. Mac OS X System Mac OS X udostĊpnia kilka edytorów tekstu. NajczĊĞciej uĪywanym edytorem wĞród programistów Ruby jest TextMate firmy MacroMates (http://www.macromates. com/), widoczny na rysunku 4.1. Edytor ten nie jest jednak darmowy — jego koszt wynosi w przybliĪeniu 50 dolarów. Ciekawą alternatywą jest edytor Xcode doáączany do pakietu OS X Development Tools, lecz wymaga on umiejĊtnoĞci instalowania i uĪywania narzĊdzi programistycznych (dostĊpnych na dysku instalacyjnym OS X). W zaleĪnoĞci od tego, jaki komputer Mac jest uĪywany, Xcode moĪe wydawaü siĊ stosunkowo wol- nym narzĊdziem. Darmowym edytorem dostĊpnym w OS X jest TextEdit. Aby go uruchomiü, naleĪy otworzyü folder Applications i dwukrotnie kliknąü ikonĊ TextEdit. W domyĞlnym trybie pracy TextEdit nie jest edytorem zwykáego tekstu, natomiast gdy w menu Format wybie- rze siĊ polecenie Make Plain Text, edytor zostanie przeáączony w tryb odpowiedni do edytowania kodu Ĩródáowego jĊzyka Ruby. Rozdziaä 4. i Prosta aplikacja w jözyku Ruby 107 Rysunek 4.1. Edytor TextMate Na razie wystarczy wpisaü albo wkleiü kawaáek kodu Ruby i wybraü polecenie File/Save, aby zapisaü kod w wybranej lokalizacji na dysku. Dobrym rozwiązaniem bĊdzie zapewne utworzenie we wáasnym folderze domowym (czyli w folderze po lewej stronie, którego nazwą jest nazwa uĪytkownika) folderu o nazwie ruby i zapisanie w nim wáaĞnie pliku z kodem Ĩródáowym. W dalszych instrukcjach bĊdziemy bowiem przyjmowaü zaáoĪenie, Īe w folderze domowym uĪytkownika istnieje wáaĞnie folder o nazwie ruby. Linux Dystrybucje systemu Linux zwykle zawierają co najmniej kilka róĪnych edytorów tekstu; zawsze natomiast w kaĪdej dystrybucji znajduje siĊ co najmniej jeden edytor. UĪytkownicy korzystający wyáącznie z wiersza poleceĔ albo z okna terminala bĊdą zapewne umieli korzystaü z edytora vi, Emacs, pico albo nano — wszystkie te narzĊdzia równieĪ na- dają siĊ do tworzenia kodu Ĩródáowego Ruby. JeĪeli uĪywany jest Linux z graficznym interfejsem uĪytkownika, zapewne dostĊpny jest edytor Kate (KDE Advanced Text Editor) i (lub) gedit (GNOME Editor). Wszystkie wspomniane programy są doskonaáymi edytorami kodów Ĩródáowych. MoĪna takĪe pobraü i zainstalowaü FreeRIDE, czyli darmowy, wieloplatformowy edytor kodu Ĩródáowego stworzony z myĞlą o programistach Ruby. Edytor pozwala wyko- nywaü kod Ĩródáowy jednym klikniĊciem myszy bezpoĞrednio z poziomu narzĊdzia (jeĪeli uĪywany jest graficzny interfejs uĪytkownika X). Kod wpisywany w edytorze jest ponadto kolorowany zgodnie ze skáadnią jĊzyka, dziĊki czemu áatwiej siĊ go czyta. WiĊcej informacji na temat FreeRIDE znajduje siĊ na stronie pod adresem http://freeride. rubyforge.org/. Na razie najlepszym pomysáem bĊdzie utworzenie we wáasnym folderze domowym no- wego folderu o nazwie ruby, w którym póĨniej zapisywane bĊdą pliki z kodem jĊzyka Ruby. Testowy plik z kodem Ēródäowym Po wybraniu Ğrodowiska, w którym bĊdą edytowane i zapisywane pliki tekstowe, moĪna wpisaü nastĊpujący kod: x = 2 print Aplikacja dziađa poprawnie, jeħli 2 + 2 = #{x + x} 108 CzöĈè I i Podstawy JeĔeli przedstawiony kod nie jest zrozumiaäy, moĔe to oznaczaè, Ĕe pominiöto zbyt wiele punktów z poprzednich rozdziaäów. NaleĔy zatem powróciè do lektury rozdziaäu 3. W niniejszym rozdziale potrzebna jest znajomoĈè wszystkich zagadnieþ prezento- wanych w rozdziale 3. Kod Ĩródáowy naleĪy zapisaü w pliku o nazwie a.rb, w wybranym folderze. Warto w tym celu utworzyü folder o nazwie ruby w áatwo dostĊpnej lokalizacji. W systemie Windows folder ruby moĪe znajdowaü siĊ w katalogu gáównym na dysku C, natomiast w syste- mach OS X i Linux moĪna go umieĞciü we wáasnym katalogu domowym. RB to standardowe rozszerzenie plików z kodem jözyka Ruby, tak samo jak PHP jest rozszerzeniem plików z kodem PHP, TXT dotyczy plików ze zwykäym tekstem, a JPG jest standardowym rozszerzeniem obrazków w formacie JPEG. Czas wiĊc uruchomiü kod Ĩródáowy. Wykonywanie kodu Ēródäowego Gdy utworzony juĪ zostanie plik z kodem Ĩródáowym jĊzyka Ruby o nazwie a.rb, trzeba ten kod wykonaü. Jak zwykle sposób uruchamiania kodu zaleĪy od uĪywanego systemu operacyjnego, dlatego najlepiej jest przeczytaü treĞü któregoĞ z kolejnych punktów, po- ĞwiĊconych konkretnym systemom. JeĪeli uĪywany system nie jest opisywany w Īadnym z punktów, wówczas najprawdopodobniej trzeba bĊdzie wykonaü czynnoĞci identyczne z tymi, które dotyczą systemu OS X albo Linux. Zawsze, gdy w ksiąĪce bĊdzie mowa o „wykonaniu” albo „uruchomieniu” programu, cho- dziü bĊdzie o wykonanie czynnoĞci opisywanych w punkcie poĞwiĊconym okreĞlonemu systemowi operacyjnemu. W tym rozdziale utworzona zostanie peäna aplikacja, jednak i tak nadal w niektórych momentach warto bödzie korzystaè z irb, aby sprawdziè dziaäanie niektórych instrukcji albo przetestowaè opisywane rozwiñzania. Najlepiej samodzielnie i na bieĔñco de- cydowaè, którego z tych dwóch narzödzi (irb i edytor kodu) uĔyè. W przypadku krótkich rozwiñzaþ i niewielkich bloków kodu bardziej uĔyteczne bödzie zapewne irb, poniewaĔ nie bödzie trzeba wówczas poĈwiöcaè dodatkowego czasu na przeäñczanie siö miödzy edytorem kodu a interpreterem. Windows JeĪeli uĪywany jest program SciTE albo FreeRIDE zainstalowany przez instalator Ruby dla systemu Windows, wówczas bezpoĞrednio z ich poziomu moĪna uruchamiaü programy napisane w jĊzyku Ruby (rysunek 4.2). W obu programach do uruchamiania kodu Ĩró- dáowego sáuĪy klawisz F5. Podobnym rozwiązaniem jest wybranie polecenia z menu (Tools/Go w SciTE albo Run/Run w FreeRIDE). Jednak przed wykonaniem kodu trzeba najpierw zapisaü plik, w którym ten kod siĊ znajduje. JeĪeli plik nie zostanie zapisany, kod moĪe daü nieprzewidziane wyniki (na przykáad moĪe dojĞü do wykonania ostatnio zapisanej wersji kodu) albo wyĞwietlony zostanie komunikat z proĞbą o zapisanie pliku. Rozdziaä 4. i Prosta aplikacja w jözyku Ruby 109 Rysunek 4.2. Efekt wykonania kodu w narzĊdziu FreeRIDE w systemie Windows (wynik dziaáania kodu znajduje siĊ w dolnym oknie edytora) Programy Ruby moĪna takĪe uruchamiaü w wierszu poleceĔ. W tym celu naleĪy przejĞü do wiersza poleceĔ (w menu Start wybraü polecenie Uruchom i wpisaü cmd, a nastĊpnie kliknąü przycisk OK), za pomocą polecenia cd przejĞü do folderu, w którym znajduje siĊ plik a.rb, i wpisaü polecenie ruby a.rb. Metoda z wierszem poleceĔ jest jednak przeznaczona dla osób, które potrafią poruszaü siĊ po dysku przy uĪyciu poleceĔ systemu operacyjnego. Inną opcją, tym razem dla uĪyt- kowników potrafiących definiowaü skróty, jest utworzenie skrótu prowadzącego do pliku wykonywalnego Ruby (ruby.exe) i przeciąganie na ten skrót pliku zawierającego kod Ĩródáowy. Mac OS X W systemie Mac OS X najprostszą metodą uruchamiania aplikacji napisanych w Ruby jest wykorzystanie okna Terminal, tak samo jak do uruchamiania interpretera irb. Dziaáa- nie okna Terminal opisano w rozdziale 1. JeĪeli wykonane zostaáy przedstawione tam instrukcje, naleĪy podjąü nastĊpujące dodatkowe dziaáania: 1. Uruchomiü Terminal (znajduje siĊ on w Applications/Utilities). 2. Za pomocą polecenia cd przejĞü do folderu, w którym zapisano plik a.rb, na przykáad cd ~/ruby. Polecenie o tej treĞci spowoduje, Īe Terminal przejdzie do folderu ruby znajdującego siĊ w domowym folderze uĪytkownika. 3. Wpisaü polecenie ruby a.rb i nacisnąü klawisz Enter, aby wykonaü skrypt Ruby. 4. JeĪeli zwrócony zostanie báąd o treĞci ruby: No such file or directory – a.rb (LoadError), oznacza to, Īe bieĪącym folderem jest folder inny niĪ ten, w którym zapisano plik a.rb, i konieczne jest ponowne ustalenie, gdzie plik z kodem Ĩródáowym siĊ znajduje. 110 CzöĈè I i Podstawy JeĪeli wykonanie pliku a.rb da prawidáowy wynik, bĊdzie moĪna przejĞü od razu do punktu „Pierwsza aplikacja: Analizator tekstu”. Linux i inne systemy uniksowe W Linuksie oraz systemach z rodziny Unix aplikacje napisane w jĊzy
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Programowanie w Ruby. Od podstaw
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: