Ruby_Przewodnik_programisty_Wydanie_II_rubprp.pdf

(3486 KB) Pobierz
Tytuł oryginału: The Well-Grounded Rubyist
Tłumaczenie: Piotr Pilch
Projekt okładki: Studio Gravite / Olsztyn;
Obarek, Pokoński, Pazdrijowski, Zaprucki
ISBN: 978-83-283-1103-9
Original edition copyright © 2014 by Manning Publications Co.
All rights reserved.
Polish edition copyright © 2015 by HELION SA.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/rubprp
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
Przedmowa 17
Przedmowa do pierwszego wydania 19
Podzi kowania 21
O ksi ce 23
C
Z
1.1.
I
F
UNDAMENTY J
ZYKA
R
UBY
.................................................... 29
Rozdzia 1. Wprowadzenie do nauki j zyka Ruby 31
Ogólne wprowadzenie do j zyka Ruby 32
1.1.1. Niezb dna sk adnia j zyka Ruby 33
1.1.2. Ró norodno identyfikatorów j zyka Ruby 35
1.1.3
Wywo ania metod, komunikaty i obiekty j zyka Ruby 37
1.1.4. Tworzenie i zapisywanie prostego programu 39
1.1.5. Kierowanie programu do interpretera j zyka Ruby 40
1.1.6. Operacje wej cia-wyj cia zwi zane z plikami i danymi wprowadzanymi
przy u yciu klawiatury 42
Anatomia instalacji j zyka Ruby 45
1.2.1. Podkatalog standardowych bibliotek j zyka Ruby 46
1.2.2. Katalog rozszerze j zyka C (RbConfig::CONFIG[archdir]) 46
1.2.3. Katalogi site_ruby (RbConfig::CONFIG[sitedir]) i vendor_ruby
(RbConfig::CONFIG[vendordir]) 47
1.2.4. Katalog gems 47
Rozszerzenia i biblioteki programistyczne j zyka Ruby 48
1.3.1.
adowanie plików i rozszerze zewn trznych 48
1.3.2.
adowanie pliku okre lonego w domy lnej cie ce adowania 49
1.3.3.
danie sk adnika 50
1.3.4. Polecenie require_relative 52
Standardowe narz dzia i aplikacje j zyka Ruby 52
1.4.1. Opcje wiersza polece interpretera 53
1.4.2. Omówienie interaktywnego interpretera j zyka Ruby irb 57
1.4.3. Narz dzia ri i Rdoc 59
1.4.4. Narz dzie do zarz dzania zadaniami rake 60
1.4.5. Instalowanie pakietów za pomoc polecenia gem 62
Podsumowanie 64
1.2.
1.3.
1.4.
1.5.
Rozdzia 2. Obiekty, metody i zmienne lokalne 65
2.1.
Komunikowanie si z obiektami 66
2.1.1. J zyk Ruby i obiektowo
66
2.1.2. Tworzenie obiektu ogólnego 67
Kup książkę
Poleć książkę
8
Spis tre ci
2.1.3. Metody pobieraj ce argumenty 69
2.1.4. Warto zwracana metody 70
Tworzenie obiektu: dzia anie biletu 71
2.2.1. Obiekt biletu — przede wszystkim dzia anie 71
2.2.2. Odpytywanie obiektu biletu 72
2.2.3. Skracanie kodu obiektu biletu za pomoc interpolacji a cuchów 73
2.2.4. Dost pno biletu: wyra anie stanu boolowskiego w metodzie 74
Wbudowane zachowania obiektu 76
2.3.1. Unikatowe identyfikowanie obiektów za pomoc metody object_id 77
2.3.2. Uzyskiwanie mo liwo ci obiektu za pomoc metody respond_to? 78
2.3.3. Wysy anie komunikatów do obiektów za pomoc metody send 79
Dok adna analiza argumentów metody 80
2.4.1. Argumenty wymagane i opcjonalne 80
2.4.2. Warto ci domy lne argumentów 81
2.4.3. Kolejno parametrów i argumentów 82
2.4.4. Dzia ania niedozwolone w przypadku list argumentów 85
Zmienne lokalne i przypisywanie do zmiennych 85
2.5.1. Zmienne, obiekty i odwo ania 87
2.5.2. Odwo ania w przypisaniu do zmiennej i ponowne przypisanie 89
2.5.3. Odwo ania i argumenty metody 91
2.5.4. Zmienne lokalne i przypominaj ce je elementy 92
Podsumowanie 93
2.2.
2.3.
2.4.
2.5.
2.6.
Rozdzia 3. Organizowanie obiektów za pomoc klas 95
3.1.
Klasy i instancje 96
3.1.1. Metody instancji 97
3.1.2. Przes anianie metod 97
3.1.3. Ponowne otwieranie klas 98
Zmienne instancji i stan obiektu 100
3.2.1. Inicjowanie obiektu ze stanem 102
Metody ustawiaj ce 103
3.3.1. Znak równo ci (=) w nazwach metod 104
3.3.2. „Lukier” sk adniowy dla metod przypominaj cych przypisania 105
3.3.3. Pe nia mo liwo ci metod ustawiaj cych 106
Atrybuty i rodzina metod attr_* 108
3.4.1. Automatyzowanie tworzenia atrybutów 108
3.4.2. Podsumowanie metod attr_* 111
Dziedziczenie i hierarchia klas j zyka Ruby 111
3.5.1. Pojedyncze dziedziczenie: po jednym dla klienta 113
3.5.2. Przodkowie obiektów i nie do ko ca brakuj ce cze: klasa Object 113
3.5.3. Starszy brat El Viejo: BasicObject 114
Klasy jako obiekty i odbiorcy komunikatów 115
3.6.1. Tworzenie obiektów klasy 115
3.6.2. Wywo ywanie metod przez obiekty klasy 116
3.6.3. Metoda pojedynczego obiektu 117
3.6.4. Kiedy i dlaczego nale y tworzy metod klasy? 119
3.6.5. Porównanie metod klasy z metodami instancji 120
3.2.
3.3.
3.4.
3.5.
3.6.
Kup książkę
Poleć książkę
Spis tre ci
3.7.
Szczegó y dotycz ce sta ych 120
3.7.1. Podstawowe zastosowanie sta ych 121
3.7.2. Porównanie ponownego przypisania z modyfikowaniem sta ych 123
„Natura” i „wychowanie” w przypadku obiektów j zyka Ruby 124
Podsumowanie 126
9
3.8.
3.9.
Rozdzia 4. Modu y i organizacja programu 127
4.1.
Podstawowe informacje dotycz ce tworzenia i u ywania modu ów 128
4.1.1. Modu hermetyzuj cy „podobie stwo do stosu” 129
4.1.2. Dodawanie modu u do klasy 131
4.1.3. Bardziej zaawansowane u ycie modu ów 133
Modu y, klasy i wyszukiwanie metody 135
4.2.1. Demonstracja podstaw wyszukiwania metod 135
4.2.2. Definiowanie tej samej metody wi cej ni raz 138
4.2.3. Sposób dzia ania instrukcji prepend 141
4.2.4. Podsumowanie regu wyszukiwania metod 142
4.2.5. Nawigacja w obr bie cie ki wyszukiwania metod za pomoc
s owa kluczowego super 143
Metoda method_missing 145
4.3.1.
czenie metody method_missing ze s owem kluczowym super 146
Projekt i nadawanie nazw w przypadku klas i modu ów 150
4.4.1. Dodawanie modu ów do klas i/lub dziedziczenie 151
4.4.2. Zagnie d anie modu ów i klas 153
Podsumowanie 154
4.2.
4.3.
4.4.
4.5.
Rozdzia 5. Obiekt domy lny (self), zasi g i widoczno
5.1.
155
5.2.
5.3.
5.4.
5.5.
Obiekt self, czyli obiekt bie cy/domy lny 156
5.1.1. Co zostaje obiektem self i w jakim miejscu? 157
5.1.2. Obiekt self najwy szego poziomu 158
5.1.3. Obiekt self w definicjach klas, modu ów i metod 159
5.1.4. Obiekt self jako domy lny odbiorca komunikatów 162
5.1.5. Okre lanie zmiennych instancji za po rednictwem obiektu self 164
Okre lanie zasi gu 166
5.2.1. Zasi g globalny i zmienne globalne 166
5.2.2. Zasi g lokalny 169
5.2.3. Interakcja mi dzy zasi giem lokalnym i obiektem self 171
5.2.4. Zasi g i okre lanie sta ych 173
5.2.5. Sk adnia zmiennych klasy, zasi g i widoczno
175
Wdra anie regu uzyskiwania dost pu do metod 182
5.3.1. Metody prywatne 182
5.3.2. Metody chronione 186
Tworzenie i u ywanie metod najwy szego poziomu 187
5.4.1. Definiowanie metody najwy szego poziomu 187
5.4.2. Predefiniowane (wbudowane) metody najwy szego poziomu 188
Podsumowanie 189
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin