ruby. programowanie ebook.pdf

(7250 KB) Pobierz
891105655.001.png
4.4. Wywoania metod
89
4.5. Przypisania
91
4.6. Operatory
99
5.
Instrukcje i przepyw sterowania .............................................................................. 115
5.1. Instrukcje warunkowe
116
5.2. Ptle
124
5.3. Iteratory i obiekty przeliczalne
126
5.4. Bloki
136
5.5. Kontrola przepywu sterowania
141
5.6. Wyjtki i ich obsuga
148
5.7. Instrukcje BEGIN i END
158
5.8. Wtki, wókna i kontynuacje
159
6.
Metody, obiekty klasy Proc, lambdy i domknicia ................................................... 165
6.1. Definiowanie prostych metod
167
6.2. Nazwy metod
170
6.3. Nawiasy w metodach
172
6.4. Argumenty metod
174
6.5. Obiekty proc i lambda
181
6.6. Domknicia
188
6.7. Obiekty klasy Method
191
6.8. Programowanie funkcyjne
192
7.
Klasy i moduy ............................................................................................................ 201
7.1. Definiowanie prostej klasy
202
7.2. Widoczno metod — publiczne, chronione i prywatne
218
7.3. Tworzenie podklas i dziedziczenie
220
7.4. Tworzenie i inicjacja obiektów
227
7.5. Moduy
232
7.6. Funkcje load i require
236
7.7. Metody singletonowe i klasa eigenclass
240
7.8. Wyszukiwanie metod
242
7.9. Wyszukiwanie staych
244
8.
Refleksja i metaprogramowanie .............................................................................. 247
8.1. Typy, klasy i moduy
248
8.2. Wykonywanie acuchów i bloków
250
8.3. Zmienne i stae
252
8.4. Metody
254
8.5. Metody zwrotne
258
8.6. ledzenie
259
4
Spis treci
8.7. Moduy ObjectSpace i GC
261
8.8. Niestandardowe struktury sterujce
262
8.9. Brakujce metody i stae
264
8.10. Dynamiczne tworzenie metod
267
8.11. Tworzenie acuchów aliasów
269
8.12. Jzyki do wyspecjalizowanych zastosowa
274
9.
Platforma Ruby .......................................................................................................... 279
9.1. acuchy
280
9.2. Wyraenia regularne
285
9.3. Liczby i matematyka
295
9.4. Data i godzina
299
9.5. Kolekcje
300
9.6. Pliki i katalogi
320
9.7. Wejcie i wyjcie
325
9.8. Programowanie sieciowe
335
9.9. Wtki i wspóbieno
340
10. rodowisko Ruby ....................................................................................................... 355
10.1. Uruchamianie interpretera Ruby
356
10.2. rodowisko najwyszego poziomu
360
10.3. Praktyczne skróty do ekstrakcji i raportowania
368
10.4. Wywoywanie systemu operacyjnego
370
10.5. Bezpieczestwo
374
Skorowidz ............................................................................................................................ 379
Spis treci
5
ROZDZIA 2.
Struktura i uruchamianie
programów Ruby
31
891105655.002.png
 
Niniejszy rozdzia opisuje struktur programów w jzyku Ruby. Na pocztku opisano struktur
leksykaln, w tym tokeny i znaki, z których skada si program. Dalej znajduje si opis struktu-
ry syntaktycznej programu Ruby z wyjanieniem sposobów pisania wyrae, instrukcji ste-
rujcych, metod, klas itd. jako sekwencji tokenów. Na kocu zamieszczony jest opis plików
zawierajcych kod Ruby z objanieniem sposobów dzielenia programów w tym jzyku na kilka
plików oraz wykonywania pliku z kodem Ruby przez interpreter Ruby.
2.1. Struktura leksykalna
Interpreter Ruby analizuje program jako sekwencj tokenów . Nale do nich: komentarze,
literay, znaki interpunkcyjne, identyfikatory i sowa kluczowe. Niniejszy rozdzia wprowadza
wymienione typy tokenów oraz zawiera wane informacje na temat znaków, z których si
one skadaj, w tym rozdzielajcych biaych znaków.
2.1.1. Komentarze
Komentarze zaczynaj si od znaku # i maj zasig do koca wiersza. Interpreter Ruby igno-
ruje znaki # i wszystko, co znajduje si za nimi w tym samym wierszu (nie ignoruje znaku
nowego wiersza, który jest biaym znakiem mogcym oznacza zakoczenie instrukcji).
Jeli # znajduje si wewntrz acucha lub wyraenia regularnego (zobacz rozdzia 3.), to
stanowi jego cz i nie wprowadza komentarza.
# Ten cay wiersz jest komentarzem.
x = "#To jest acuch." # A to jest komentarz.
y = /#To jest wyraenie regularne./ # Tu jest jeszcze jeden komentarz.
Komentarze zajmujce wiele wierszy s tworzone przez wstawienie znaku # na pocztku
kadego z nich.
#
# Niniejsza klasa reprezentuje liczb typu Complex.
# Mimo nazwy (zoona) nie jest ona wcale skomplikowana.
#
Naley zauway, e w jzyku Ruby nie ma komentarzy w stylu C /* */ . Nie ma sposobu
na wstawienie komentarza w rodku wiersza kodu.
2.1.1.1. Dokumenty osadzone
W jzyku Ruby dostpny jest jeszcze inny sposób wstawiania komentarzy wielowierszo-
wych. S to tak zwane dokumenty osadzone (ang. embedded document ). Pierwszy wiersz ta-
kiego komentarza zaczyna si od cigu znaków =begin , a ostatni od cigu =end . Tekst znaj-
dujcy si pomidzy =begin a =end jest ignorowany. Naley tylko pamita, e midzy tekstem
a cigami =begin i =end musi by przynajmniej jedna spacja.
Dokumenty osadzone s wygodnym sposobem na tworzenie dugich komentarzy bez wsta-
wiania na pocztku kadego wiersza znaku # .
=begin Kto musi naprawi poniszy kod!
Kod znajdujcy si w tym miejscu jest w komentarzu.
=end
32
Rozdzia 2. Struktura i uruchamianie programów Ruby
Zgłoś jeśli naruszono regulamin