ruby. tao programowania w 400 ...

ruby. tao programowania w 400 przykładach cała książka, ebooki
[ Pobierz całość w formacie PDF ]
6
RUBY. TAO PROGRAMOWANIA W 400 PRZYKŁADACH
1.5. Ćwiczenie intuicji: o czym warto pamiętać ...................................... 90
1.5.1. Wybrane reguły składniowe ................................................ 90
1.5.2. Różne spojrzenia na programowanie ................................. 93
1.5.3. Wyrażenie case języka Ruby ................................................ 97
1.5.4. Rubyizmy i idiomy ............................................................... 100
1.5.5. Orientacja na wyrażenia i inne zagadnienia ................... 106
1.6. Żargon języka Ruby ............................................................................ 108
1.7.
Konkluzja .............................................................................................. 112
ROZDZIAŁ 2.
Praca z łańcuchami ......................................................................................... 113
2.1. Reprezentowanie typowych łańcuchów ......................................... 114
2.2. Reprezentowanie łańcuchów w notacjach alternatywnych ........ 115
2.3. Stosowanie dokumentu wbudowanego ......................................... 115
2.4. Określanie długości łańcuchów ........................................................ 118
2.5. Przetwarzanie po jednym wierszu w każdej iteracji .................... 118
2.6. Przetwarzanie po jednym bajcie w każdej iteracji ........................ 118
2.7. Stosowanie wyspecjalizowanych technik
porównywania łańcuchów ................................................................ 119
2.8. Dzielenie łańcuchów na tokeny ....................................................... 121
2.9. Formatowanie łańcuchów ................................................................. 122
2.10. Stosowanie łańcuchów w roli obiektów wejścia-wyjścia ............. 123
2.11. Konwersja wielkich i małych liter .................................................... 123
2.12. Uzyskiwanie dostępu i przypisywanie podłańcuchów ................ 125
2.13. Zamiana łańcuchów ........................................................................... 127
2.14. Przeszukiwanie łańcuchów ............................................................... 128
2.15. Konwertowanie znaków na kody ASCII ......................................... 129
2.16. Konwersja jawna i niejawna ............................................................. 129
2.17. Dołączanie elementów do łańcuchów ............................................. 132
2.18. Usuwanie końcowych znaków nowego wiersza
i innych symboli specjalnych ............................................................ 133
2.19. Usuwanie znaków białych z początku i końca łańcucha ............. 134
2.20. Powielanie łańcuchów ........................................................................ 134
2.21. Osadzanie wyrażeń w ramach łańcuchów ..................................... 135
2.22. Opóźnianie przetwarzania łańcuchów ........................................... 135
2.23. Analiza składniowa danych oddzielonych przecinkami .............. 136
2.24. Konwertowanie łańcuchów na liczby (dziesiętne i inne) ............. 137
2.25. Kodowanie i dekodowanie tekstu szyfrowanego
za pomocą metody rot13 .................................................................... 139
2.26. Szyfrowanie łańcuchów ..................................................................... 140
2.27. Kompresja łańcuchów ........................................................................ 141
2.28. Wyznaczanie liczby wystąpień znaków w łańcuchach ................ 142
2.29. Odwracanie kolejności znaków w łańcuchu .................................. 142
2.30. Usuwanie powtarzających się znaków ............................................ 143
2.31.
Usuwanie określonych znaków ........................................................ 143
2.32.
Wyświetlanie znaków specjalnych .................................................. 143
SPIS TREŚCI
7
2.33. Generowanie kolejnych łańcuchów .................................................. 144
2.34. Wyznaczanie 32-bitowych sum CRC ............................................... 144
2.35. Wyznaczanie kodów MD5 dla łańcuchów ..................................... 145
2.36. Wyznaczanie odległości Levenshteina dzielącej dwa łańcuchy ...... 146
2.37. Kodowanie i dekodowanie łańcuchów w formacie base64 ......... 148
2.38. Kodowanie i dekodowanie łańcuchów
za pomocą narzędzi uuencode oraz uudecode .............................. 149
2.39.
Rozszerzanie i kompresja znaków tabulacji ................................... 149
2.40.
Opakowywanie wierszy tekstu ........................................................ 150
2.41.
Konkluzja .............................................................................................. 151
ROZDZIAŁ 3.
Praca z wyrażeniami regularnymi ............................................................... 153
3.1. Składnia wyrażeń regularnych ......................................................... 154
3.2. Kompilowanie wyrażeń regularnych .............................................. 156
3.3. Stosowanie znaków specjalnych ...................................................... 157
3.4. Stosowanie tzw. kotwic ...................................................................... 157
3.5. Stosowanie kwantyfikatorów ............................................................ 158
3.6. Antycypacja dodatnia i ujemna ........................................................ 160
3.7. Uzyskiwanie dostępu do referencji wstecznych ............................ 161
3.8. Stosowanie klas znaków .................................................................... 165
3.9. Rozszerzone wyrażenia regularne ................................................... 166
3.10. Dopasowywanie znaku nowego wiersza do kropki ..................... 167
3.11. Stosowanie opcji osadzanych ............................................................ 168
3.12. Stosowanie podwyrażeń osadzanych ............................................. 169
3.13. Ruby i Oniguruma .............................................................................. 169
3.13.1. Testowanie dostępności mechanizmu Oniguruma ....... 170
3.13.2. Kompilacja silnika Oniguruma .......................................... 171
3.13.3. Przegląd wybranych nowości
zaimplementowanych w silniku Oniguruma ................. 172
3.13.4. Dodatnia i ujemna antycypacja wsteczna ...................... 172
3.13.5. Więcej o kwantyfikatorach ................................................. 174
3.13.6. Dopasowania nazwane ....................................................... 174
3.13.7. Rekurencja w wyrażeniach regularnych ......................... 176
3.14. Kilka przykładowych wyrażeń regularnych .................................. 177
3.14.1. Dopasowywanie adresów IP .............................................. 177
3.14.2. Dopasowywanie par klucz-wartość .................................. 178
3.14.3. Dopasowywanie liczb rzymskich ...................................... 179
3.14.4. Dopasowywanie stałych numerycznych ......................... 179
3.14.5. Dopasowywanie łańcuchów zawierających datę
i godzinę ................................................................................ 180
3.14.6. Wykrywanie powtarzających się
wyrazów w tekście ............................................................... 181
3.14.7. Dopasowywanie słów pisanych wielkimi literami ......... 181
3.14.8. Dopasowywanie numerów wersji .................................... 182
3.14.9. Kilka dodatkowych wzorców ............................................ 182
3.15. Konkluzja .............................................................................................. 183
8
RUBY. TAO PROGRAMOWANIA W 400 PRZYKŁADACH
ROZDZIAŁ 4.
Umiędzynaradawianie aplikacji Ruby ....................................................... 185
4.1.
Wstęp teoretyczny i terminologia .................................................... 187
4.2.
Kodowanie znaków we współczesnym świecie
(po rezygnacji ze standardu ASCII) ................................................. 191
4.2.1.
Biblioteka jcode i zmienna globalna $KCODE ................ 192
4.2.2.
Ponowne spojrzenie na popularne operacje
na łańcuchach i wyrażeniach regularnych ...................... 193
4.2.3.
Wykrywanie schematów kodowania znaków ................ 198
4.2.4.
Normalizacja łańcuchów Unicode .................................... 198
4.2.5.
Problemy związane z porządkowaniem łańcuchów ..... 200
4.2.6.
Konwertowanie łańcuchów zakodowanych
według różnych schematów .............................................. 204
4.3.
Stosowanie katalogów komunikatów .............................................. 207
4.3.1.
Wstęp teoretyczny i terminologia ..................................... 207
4.3.2.
Pierwsze kroki w świecie katalogów komunikatów ...... 208
4.3.3.
Lokalizacja prostej aplikacji ................................................ 209
4.3.4.
Informacje dodatkowe ........................................................ 214
4.4.
Konkluzja .............................................................................................. 215
ROZDZIAŁ 5.
Wykonywanie obliczeń numerycznych ..................................................... 217
5.1. Reprezentowanie liczb w języku Ruby ........................................... 218
5.2. Podstawowe operacje na liczbach .................................................... 219
5.3. Zaokrąglanie liczb zmiennoprzecinkowych ................................... 220
5.4. Porównywanie liczb zmiennoprzecinkowych ............................... 222
5.5. Formatowanie liczb przeznaczonych do wyświetlenia ................ 223
5.6. Formatowanie liczb z separatorami tysięcy .................................... 224
5.7. Praca z bardzo dużymi liczbami całkowitymi ................................ 225
5.8. Stosowanie typu BigDecimal ............................................................ 225
5.9. Praca z liczbami wymiernymi ........................................................... 227
5.10. Operacje na macierzach ..................................................................... 228
5.11. Praca z liczbami zespolonymi ........................................................... 233
5.12. Stosowanie biblioteki mathn ............................................................. 234
5.13. Rozkład na czynniki pierwsze, największy wspólny dzielnik
i najmniejsza wspólna wielokrotność .............................................. 235
5.14. Praca z liczbami pierwszymi ............................................................. 236
5.15. Niejawna i bezpośrednia konwersja numeryczna ........................ 237
5.16. Koercja wartości numerycznych ...................................................... 238
5.17. Wykonywanie operacji bitowych na liczbach ................................ 240
5.18. Konwersje pomiędzy systemami liczbowymi ................................ 241
5.19. Wyznaczanie pierwiastków sześciennych, czwartego
stopnia, piątego stopnia itd. .............................................................. 242
5.20. Określanie porządku bajtów obowiązującego
w danej architekturze ......................................................................... 243
5.21.
Numeryczna metoda wyznaczania całki oznaczonej ................... 244
5.22.
Trygonometria w stopniach, radianach i gradach ......................... 245
SPIS TREŚCI
9
5.23. Bardziej zaawansowane funkcje trygonometryczne .................... 247
5.24. Wyznaczanie logarytmów o dowolnych podstawach .................. 247
5.25. Wyznaczanie wartości średniej, mediany
i mody zbioru danych ........................................................................ 248
5.26. Wariancja i odchylenie standardowe .............................................. 249
5.27. Wyznaczanie współczynnika korelacji ............................................ 250
5.28. Generowanie liczb losowych ............................................................. 251
5.29. Składowanie wyników funkcji w pamięci podręcznej
za pomocą biblioteki memoize .......................................................... 252
5.30. Konkluzja ................................................................................................. 254
ROZDZIAŁ 6.
Symbole i przedziały ..................................................................................... 255
6.1. Symbole ................................................................................................ 256
6.1.1. Symbole jako typy wyliczeniowe ...................................... 258
6.1.2. Symbole jako metawartości ................................................ 258
6.1.3. Symbole, zmienne i metody ............................................... 259
6.1.4. Konwertowanie na symbole i z symboli .......................... 260
6.2. Przedziały ............................................................................................. 261
6.2.1. Przedziały otwarte i domknięte ......................................... 262
6.2.2. Wyznaczanie punktów końcowych .................................. 262
6.2.3. Iteracyjne przeszukiwanie przedziałów .......................... 263
6.2.4. Sprawdzanie przynależności do przedziałów ................ 264
6.2.5. Konwertowanie przedziałów na tablice ........................... 264
6.2.6. Przedziały odwrotne ........................................................... 265
6.2.7. Operator przerzutnikowy .................................................. 265
6.2.8. Przedziały niestandardowe ................................................ 269
6.3. Konkluzja ................................................................................................... 272
ROZDZIAŁ 7.
Praca z datami i godzinami ........................................................................... 273
7.1. Określanie bieżącej godziny .............................................................. 274
7.2. Praca z określonymi datami i godzinami
(począwszy od punktu nazywanego epoką) .................................. 275
7.3. Określanie dnia tygodnia .................................................................. 276
7.4. Określanie daty Wielkanocy ............................................................. 277
7.5. Określanie daty n-tego dnia tygodnia w danym miesiącu .......... 277
7.6. Konwersja pomiędzy sekundami
a większymi jednostkami czasu ........................................................ 279
7.7. Konwersja daty i godziny do postaci i z postaci epoki ................. 280
7.8. Praca z sekundami przestępnymi
— nie róbcie tego w domu! ................................................................ 280
7.9. Wyznaczanie numeru dnia w danym roku .................................... 281
7.10. Sprawdzanie poprawności daty i godziny ..................................... 281
7.11. Określanie numeru tygodnia w danym roku ................................ 283
7.12. Wykrywanie roku przestępnego ...................................................... 284
7.13. Określanie strefy czasowej ................................................................ 285
[ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lemansa.htw.pl
  • Tematy
    Powered by wordpress | Theme: simpletex | © Smętna dusza może nas zabić prędzej, o wiele prędzej niż zarazek.