Категорії
Електронні книги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комп'ютер в офісі
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Мультимедійне навчання
- Нерухомість
- Переконання та НЛП
- Податки
- Соціальна політика
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Звіти, аналізи
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Електронна преса
- Architektura i wnętrza
- Biznes i Ekonomia
- Будинок та сад
- Електронний бізнес
- Фінанси
- Особисті фінанси
- Бізнес
- Фотографія
- Інформатика
- Відділ кадрів та оплата праці
- Комп'ютери, Excel
- Бухгалтерія
- Культура та література
- Наукові та академічні
- Охорона навколишнього середовища
- Впливові
- Освіта
- Податки
- Подорожі
- Психологія
- Релігія
- Сільське господарство
- Ринок книг і преси
- Транспорт та спедиція
- Здоров'я та краса
-
Історія
-
Інформатика
- Офісні застосунки
- Бази даних
- Біоінформатика
- Бізнес ІТ
- CAD/CAM
- Digital Lifestyle
- DTP
- Електроніка
- Цифрова фотографія
- Комп'ютерна графіка
- Ігри
- Хакування
- Hardware
- IT w ekonomii
- Наукові пакети
- Шкільні підручники
- Основи комп'ютера
- Програмування
- Мобільне програмування
- Інтернет-сервери
- Комп'ютерні мережі
- Стартап
- Операційні системи
- Штучний інтелект
- Технологія для дітей
- Вебмайстерність
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Оповідна поезія
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Шкільні підручники
-
Науково-популярна та академічна
- Археологія
- Bibliotekoznawstwo
- Кінознавство / Теорія кіно
- Філологія
- Польська філологія
- Філософія
- Finanse i bankowość
- Географія
- Економіка
- Торгівля. Світова економіка
- Історія та археологія
- Історія мистецтва і архітектури
- Культурологія
- Мовознавство
- літературні студії
- Логістика
- Математика
- Ліки
- Гуманітарні науки
- Педагогіка
- Навчальні засоби
- Науково-популярна
- Інше
- Психологія
- Соціологія
- Театральні студії
- Богослов’я
- Економічні теорії та науки
- Transport i spedycja
- Фізичне виховання
- Zarządzanie i marketing
-
Порадники
-
Ігрові посібники
-
Професійні та спеціальні порадники
-
Юридична
- Безпека життєдіяльності
- Історія
- Дорожній кодекс. Водійські права
- Юридичні науки
- Охорона здоров'я
- Загальне, компендіум
- Академічні підручники
- Інше
- Закон про будівництво і житло
- Цивільне право
- Фінансове право
- Господарське право
- Господарське та комерційне право
- Кримінальний закон
- Кримінальне право. Кримінальні злочини. Кримінологія
- Міжнародне право
- Міжнародне та іноземне право
- Закон про охорону здоров'я
- Закон про освіту
- Податкове право
- Трудове право та законодавство про соціальне забезпечення
- Громадське, конституційне та адміністративне право
- Кодекс про шлюб і сім'ю
- Аграрне право
- Соціальне право, трудове право
- Законодавство Євросоюзу
- Промисловість
- Сільське господарство та захист навколишнього середовища
- Словники та енциклопедії
- Державні закупівлі
- Управління
-
Путівники та подорожі
- Африка
- Альбоми
- Південна Америка
- Центральна та Північна Америка
- Австралія, Нова Зеландія, Океанія
- Австрія
- Азії
- Балкани
- Близький Схід
- Болгарія
- Китай
- Хорватія
- Чеська Республіка
- Данія
- Єгипет
- Естонія
- Європа
- Франція
- Гори
- Греція
- Іспанія
- Нідерланди
- Ісландія
- Литва
- Латвія
- Mapy, Plany miast, Atlasy
- Мініпутівники
- Німеччина
- Норвегія
- Активні подорожі
- Польща
- Португалія
- Інше
- Росія
- Румунія
- Словаччина
- Словенія
- Швейцарія
- Швеція
- Світ
- Туреччина
- Україна
- Угорщина
- Велика Британія
- Італія
-
Психологія
- Філософія життя
- Kompetencje psychospołeczne
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Аудіокниги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Нерухомість
- Переконання та НЛП
- Податки
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Історія
-
Інформатика
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Науково-популярна та академічна
-
Порадники
-
Професійні та спеціальні порадники
-
Юридична
-
Путівники та подорожі
-
Психологія
- Філософія життя
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Відеокурси
-
Бази даних
-
Big Data
-
Biznes, ekonomia i marketing
-
Кібербезпека
-
Data Science
-
DevOps
-
Для дітей
-
Електроніка
-
Графіка / Відео / CAX
-
Ігри
-
Microsoft Office
-
Інструменти розробки
-
Програмування
-
Особистісний розвиток
-
Комп'ютерні мережі
-
Операційні системи
-
Тестування програмного забезпечення
-
Мобільні пристрої
-
UX/UI
-
Веброзробка, Web development
-
Управління
Подкасти
- Електронні книги
- Програмування
- Ruby
- Ruby. Przewodnik programisty. Wydanie II
Деталі електронної книги
Poznaj kluczowe pojęcia związane z językiem Ruby. W kolejnych rozdziałach znajdziesz istotne informacje na temat składni, dostępnych elementów oraz typowych konstrukcji. Ponadto zobaczysz, jak korzystać z obiektów, metod i zmiennych, oraz nauczysz się budować właściwą strukturę Twojego projektu. Po opanowaniu podstaw będziesz swobodnie tworzył proste programy oraz przejdziesz do zaawansowanych tematów związanych z technikami przepływu sterowania, wbudowanymi elementami, kolekcjami oraz wyrażeniami regularnymi. Ta książka jest doskonałym podręcznikiem dla wszystkich osób chcących nauczyć się języka Ruby i wykorzystać jego potencjał w kolejnych projektach.
Dzięki tej książce:
- poznasz składnię języka Ruby
- zrozumiesz filozofię stojącą za tym językiem
- opanujesz techniki programowania obiektowego
- wykorzystasz potencjał języka Ruby
Poznaj i wykorzystaj jego możliwości języka Ruby!
Przedmowa (17)
Przedmowa do pierwszego wydania (19)
Podziękowania (21)
O książce (23)
CZĘŚĆ I. FUNDAMENTY JĘZYKA RUBY (29)
Rozdział 1. Wprowadzenie do nauki języka Ruby (31)
- 1.1.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)
- 1.2. 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)
- 1.3. 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)
- 1.4. 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)
- 1.5. Podsumowanie (64)
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)
- 2.1.3. Metody pobierające argumenty (69)
- 2.1.4. Wartość zwracana metody (70)
- 2.2. 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)
- 2.3. 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)
- 2.4. 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)
- 2.5. 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)
- 2.6. Podsumowanie (93)
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)
- 3.2. Zmienne instancji i stan obiektu (100)
- 3.2.1. Inicjowanie obiektu ze stanem (102)
- 3.3. 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)
- 3.4. Atrybuty i rodzina metod attr_* (108)
- 3.4.1. Automatyzowanie tworzenia atrybutów (108)
- 3.4.2. Podsumowanie metod attr_* (111)
- 3.5. 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)
- 3.6. 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.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)
- 3.8. "Natura" i "wychowanie" w przypadku obiektów języka Ruby (124)
- 3.9. Podsumowanie (126)
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)
- 4.2. 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)
- 4.3. Metoda method_missing (145)
- 4.3.1. Łączenie metody method_missing ze słowem kluczowym super (146)
- 4.4. 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)
- 4.5. Podsumowanie (154)
Rozdział 5. Obiekt domyślny (self), zasięg i widoczność (155)
- 5.1. 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)
- 5.2. 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)
- 5.3. Wdrażanie reguł uzyskiwania dostępu do metod (182)
- 5.3.1. Metody prywatne (182)
- 5.3.2. Metody chronione (186)
- 5.4. 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)
- 5.5. Podsumowanie (189)
Rozdział 6. Techniki przepływu sterowania (191)
- 6.1. Warunkowe wykonywanie kodu (192)
- 6.1.1. Instrukcja if i powiązane z nią instrukcje (192)
- 6.1.2. Składnia przypisania w treści instrukcji warunkowych i testach (197)
- 6.1.3. Instrukcje case (200)
- 6.2. Powtarzanie działań za pomocą pętli (205)
- 6.2.1. Bezwarunkowe wykonywanie pętli za pomocą metody loop (205)
- 6.2.2. Warunkowe wykonywanie pętli za pomocą słów kluczowych while i until (206)
- 6.2.3. Wykonywanie pętli na bazie listy wartości (209)
- 6.3. Iteratory i bloki kodu (209)
- 6.3.1. Elementy iteracji (209)
- 6.3.2. Iteracja w zwykłym stylu (210)
- 6.3.3. Anatomia wywołania metody (210)
- 6.3.4. Porównanie nawiasów klamrowych oraz pary słów kluczowych do i end w składni bloku kodu (211)
- 6.3.5. Implementowanie metody times (213)
- 6.3.6. Ważność metody each (214)
- 6.3.7. Od metody each do metody map (216)
- 6.3.8. Parametry bloku i zasięg zmiennych (218)
- 6.4. Obsługa błędów i wyjątki (221)
- 6.4.1. Zgłaszanie wyjątków i stosowanie dla nich klauzuli rescue (221)
- 6.4.2. Słowo kluczowe rescue na ratunek! (222)
- 6.4.3. Jawne zgłaszanie wyjątków (224)
- 6.4.4. Przechwytywanie wyjątku w klauzuli rescue (225)
- 6.4.5. Klauzula ensure (227)
- 6.4.6. Tworzenie własnych klas wyjątków (228)
- 6.5. Podsumowanie (229)
CZĘŚĆ II. WBUDOWANE KLASY I MODUŁY (231)
Rozdział 7. Wbudowane elementy podstawowe (233)
- 7.1. Konstruktory literałów języka Ruby (234)
- 7.2. Powracający "lukier" składniowy (235)
- 7.2.1. Definiowanie operatorów przez określanie metod (236)
- 7.2.2. Dostosowywanie operatorów jednoargumentowych (238)
- 7.3. Metody z nazwą zakończoną wykrzyknikiem i metody "niebezpieczne" (239)
- 7.3.1. Destrukcyjne efekty (zmieniające odbiorcę) uznawane za "niebezpieczne" (240)
- 7.3.2. Destrukcyjność i "niebezpieczeństwo" zmieniają się niezależnie (241)
- 7.4. Metody wbudowane i niestandardowe to_* służące do konwersji (242)
- 7.4.1. Konwersja łańcucha: metoda to_s (243)
- 7.4.2. Konwersja tablic za pomocą metody to_a i operatora * (246)
- 7.4.3. Konwersja liczb za pomocą metod to_i i to_f (247)
- 7.4.4. Metody z rodziny to_* przyjmujące role (248)
- 7.5. Stany i obiekty boolowskie oraz obiekt nil (250)
- 7.5.1. Obiekty true i false jako stany (251)
- 7.5.2. Obiekty true i false (252)
- 7.5.3. Obiekt specjalny nil (254)
- 7.6. Porównanie dwóch obiektów (255)
- 7.6.1. Testy równości (255)
- 7.6.2. Porównania i moduł Comparable (256)
- 7.7. Inspekcja możliwości obiektów (258)
- 7.7.1. Wyświetlanie listy metod obiektu (259)
- 7.7.2. Odpytywanie obiektów klas i modułów (260)
- 7.7.3. Listy filtrowanych i wybranych metod (261)
- 7.8. Podsumowanie (261)
Rozdział 8. Łańcuchy, symbole i inne obiekty skalarne (263)
- 8.1. Zastosowanie łańcuchów (264)
- 8.1.1. Notacja łańcuchów (264)
- 8.1.2. Podstawowe modyfikacje łańcuchów (268)
- 8.1.3. Odpytywanie łańcuchów (272)
- 8.1.4. Porównywanie łańcuchów i określanie ich kolejności (275)
- 8.1.5. Transformacja łańcuchów (276)
- 8.1.6. Konwersje łańcuchów (279)
- 8.1.7. Kodowanie łańcuchów 3 krótkie wprowadzenie (280)
- 8.2. Symbole i ich zastosowanie (282)
- 8.2.1. Główne cechy charakterystyczne symboli (283)
- 8.2.2. Symbole i identyfikatory (284)
- 8.2.3. Symbole w praktyce (286)
- 8.2.4. Porównanie łańcuchów i symboli (288)
- 8.3. Obiekty liczbowe (289)
- 8.3.1. Klasy liczbowe (290)
- 8.3.2. Wykonywanie operacji arytmetycznych (290)
- 8.4. Czas i daty (292)
- 8.4.1. Tworzenie instancji obiektów daty/czasu (293)
- 8.4.2. Metody odpytywania obiektów daty i czasu (295)
- 8.4.3. Metody formatujące datę i czas (296)
- 8.4.4. Metody konwersji daty i czasu (297)
- 8.5. Podsumowanie (299)
Rozdział 9. Obiekty kolekcji i kontenerów (301)
- 9.1. Porównanie tablic i tablic asocjacyjnych (302)
- 9.2. Przetwarzanie kolekcji za pomocą tablic (304)
- 9.2.1. Tworzenie nowej tablicy (304)
- 9.2.2. Wstawianie, pobieranie i usuwanie elementów tablicy (308)
- 9.2.3. Łączenie tablic z innymi tablicami (311)
- 9.2.4. Transformacje tablic (312)
- 9.2.5. Odpytywanie tablic (314)
- 9.3. Tablice asocjacyjne (315)
- 9.3.1. Tworzenie nowej tablicy asocjacyjnej (315)
- 9.3.2. Wstawianie, pobieranie i usuwanie par tablic asocjacyjnych (317)
- 9.3.3. Określanie domyślnych wartości i zachowania tablic asocjacyjnych (319)
- 9.3.4. Łączenie tablic asocjacyjnych z innymi tablicami asocjacyjnymi (320)
- 9.3.5. Transformacje tablic asocjacyjnych (321)
- 9.3.6. Odpytywanie tablic asocjacyjnych (322)
- 9.3.7. Tablice asocjacyjne jako ostatnie argumenty metody (323)
- 9.3.8. Powrót do składni argumentów: argumenty nazwane (słów kluczowych) (324)
- 9.4. Zakresy (326)
- 9.4.1. Tworzenie zakresu (327)
- 9.4.2. Logika włączenia do zakresów (328)
- 9.5. Zbiory (330)
- 9.5.1. Tworzenie zbiorów (331)
- 9.5.2. Modyfikowanie elementów zbioru (331)
- 9.5.3. Podzbiory i nadzbiory (334)
- 9.6. Podsumowanie (335)
Rozdział 10. Kolekcje: moduł Enumerable i klasa Enumerator (337)
- 10.1. Zapewnianie możliwości wyliczania za pośrednictwem metody each (338)
- 10.2. Zapytania boolowskie dotyczące modułu Enumerable (340)
- 10.3. Wyszukiwanie i wybieranie obiektów wyliczeniowych (343)
- 10.3.1. Uzyskiwanie pierwszego dopasowania za pomocą metody find (343)
- 10.3.2. Uzyskiwanie wszystkich dopasowań za pomocą metod find_all (inaczej select) i reject (345)
- 10.3.3. Wybieranie dopasowań operatora równości === za pomocą metody grep (345)
- 10.3.4. Organizowanie wyników wybierania za pomocą metod group_by i #partition (347)
- 10.4. Operacje wyliczeniowe dotyczące elementów (348)
- 10.4.1. Metoda first (348)
- 10.4.2. Metody take i drop (350)
- 10.4.3. Metody min i max (350)
- 10.5. Metody powiązane z metodą each (352)
- 10.5.1. Metoda reverse_each (352)
- 10.5.2. Metoda each_with_index (oraz metoda each.with_index) (352)
- 10.5.3. Metody each_slice i each_cons (353)
- 10.5.4. Metoda cycle (354)
- 10.5.5. Zmniejszanie obiektu wyliczeniowego za pomocą metody inject (355)
- 10.6. Metoda map (356)
- 10.6.1. Wartość zwracana metody map (357)
- 10.6.2. Odwzorowywanie wewnętrzne za pomocą metody map! (358)
- 10.7. Łańcuchy jako quazi-obiekty wyliczeniowe (359)
- 10.8. Sortowanie obiektów wyliczeniowych (360)
- 10.8.1. W jaki sposób moduł Comparable przydaje się (albo nie) podczas sortowania obiektów wyliczeniowych? (362)
- 10.8.2. Definiowanie logiki kolejności sortowania przy użyciu bloku (363)
- 10.8.3. Zwięzłe sortowanie za pomocą metody sort_by (364)
- 10.9. Enumeratory i następny wymiar możliwości wyliczania (364)
- 10.9.1. Tworzenie enumeratorów z blokiem kodu (365)
- 10.9.2. Powiązanie enumeratorów z innymi obiektami (367)
- 10.9.3. Niejawne tworzenie enumeratorów za pomocą wywołań iteratora bez użycia bloku kodu (369)
- 10.10. Semantyka enumeratorów i ich zastosowanie (369)
- 10.10.1. Sposób użycia metody each enumeratora (370)
- 10.10.2. Ochrona obiektów za pomocą enumeratorów (372)
- 10.10.3. Rozbudowana iteracja z wykorzystaniem enumeratorów (373)
- 10.10.4. Zapewnianie możliwości wyliczania za pomocą enumeratora (374)
- 10.11. Tworzenie łańcucha metod enumeratora (375)
- 10.11.1. Zmniejszanie liczby obiektów pośrednich (376)
- 10.11.2. Indeksowanie obiektów wyliczeniowych za pomocą metody with_index (377)
- 10.11.3. Operacje alternatywy wykluczającej na łańcuchach z wykorzystaniem enumeratorów (378)
- 10.12. "Leniwe" enumeratory (380)
- 10.12.1. Problem FizzBuzz w przypadku "leniwego" enumeratora (381)
- 10.13. Podsumowanie (382)
Rozdział 11. Wyrażenie regularne i operacje na łańcuchach oparte na wyrażeniach regularnych (385)
- 11.1. Czym są wyrażenia regularne? (386)
- 11.2. Tworzenie wyrażeń regularnych (387)
- 11.2.1. Wyświetlanie wzorców (387)
- 11.2.2. Proste dopasowywanie za pomocą wyrażeń regularnych literału (388)
- 11.3. Tworzenie wzorca w wyrażeniu regularnym (389)
- 11.3.1. Znaki literału we wzorcach (389)
- 11.3.2. Znak wieloznaczny kropki (.) (390)
- 11.3.3. Klasy znaków (390)
- 11.4. Dopasowywanie i przechwytywanie podłańcuchów oraz obiekt MatchData (392)
- 11.4.1. Przechwytywanie dopasowań podrzędnych za pomocą nawiasów okrągłych (392)
- 11.4.2. Dopasowanie pomyślne i zakończone niepowodzeniem (394)
- 11.4.3. Dwa sposoby uzyskiwania przechwyceń (395)
- 11.4.4. Inne informacje zawarte w obiekcie MatchData (397)
- 11.5. Dostrajanie wyrażeń regularnych za pomocą kwantyfikatorów, zakotwiczeń i modyfikatorów (398)
- 11.5.1. Ograniczanie dopasowań za pomocą kwantyfikatorów (398)
- 11.5.2. "Zachłanne" (i inne) kwantyfikatory (400)
- 11.5.3. Zakotwiczenia i asercje wyrażeń regularnych (403)
- 11.5.4. Modyfikatory (406)
- 11.6. Wzajemna konwersja łańcuchów i wyrażeń regularnych (408)
- 11.6.1. Idiomy związane z przepływem od łańcucha do wyrażenia regularnego (408)
- 11.6.2. Przejście od wyrażenia regularnego do łańcucha (410)
- 11.7. Typowe metody używające wyrażeń regularnych (411)
- 11.7.1. Metoda String#scan (411)
- 11.7.2. Metoda String#split (412)
- 11.7.3. sub/sub! i gsub/gsub! (414)
- 11.7.4. Równość przypadków i metoda grep (415)
- 11.8. Podsumowanie (417)
Rozdział 12. Operacje wejścia-wyjścia i operacje na plikach (419)
- 12.1. Struktura systemu operacji wejścia-wyjścia w języku Ruby (420)
- 12.1.1. Klasa IO (420)
- 12.1.2. Obiekty IO jako obiekty wyliczeniowe (421)
- 12.1.3. Obiekty STDIN, STDOUT i STDERR (422)
- 12.1.4. Trochę więcej o danych wprowadzanych za pomocą klawiatury (423)
- 12.2. Podstawowe operacje na plikach (424)
- 12.2.1. Podstawy operacji odczytywania z plików (424)
- 12.2.2. Odczytywanie plików oparte na wierszach (425)
- 12.2.3. Odczytywanie plików w oparciu o bajty i znaki (426)
- 12.2.4. Szukanie pozycji w pliku oraz odpytywanie o nią (427)
- 12.2.5. Odczytywanie plików za pomocą metod klasy File (428)
- 12.2.6. Zapisywanie w plikach (429)
- 12.2.7. Użycie bloków do określania zasięgu operacji na plikach (430)
- 12.2.8. Możliwości wyliczeniowe plików (431)
- 12.2.9. Wyjątki i błędy dotyczące plikowych operacji wejścia-wyjścia (432)
- 12.3. Odpytywanie obiektów IO i File (433)
- 12.3.1. Uzyskiwanie informacji z klasy File i modułu FileTest (434)
- 12.3.2. Uzyskiwanie informacji o plikach za pomocą klasy File::Stat (435)
- 12.4. Modyfikowanie katalogów za pomocą klasy Dir (436)
- 12.4.1. Wczytywanie pozycji katalogu (436)
- 12.4.2. Modyfikowanie i odpytywanie katalogów (439)
- 12.5. Narzędzia plikowe biblioteki standardowej (440)
- 12.5.1. Moduł FileUtils (440)
- 12.5.2. Klasa Pathname (442)
- 12.5.3. Klasa StringIO (444)
- 12.5.4. Moduł open-uri (446)
- 12.6. Podsumowanie (446)
CZĘŚĆ III. DYNAMIKA JĘZYKA RUBY (449)
Rozdział 13. Indywidualizacja obiektów (451)
- 13.1. Tam, gdzie znajdują się metody pojedynczego obiektu: klasa pojedynczych obiektów (452)
- 13.1.1. Podwójne określanie za pomocą klas pojedynczych obiektów (453)
- 13.1.2. Bezpośrednie sprawdzanie i modyfikowanie klasy pojedynczych obiektów (454)
- 13.1.3. Klasy pojedynczych obiektów w ścieżce wyszukiwania metod (456)
- 13.1.4. Metoda singleton_class (461)
- 13.1.5. Obszerne omówienie metod klasy (461)
- 13.2. Modyfikowanie podstawowych klas i modułów języka Ruby (463)
- 13.2.1. Zagrożenia związane z modyfikowaniem podstawowych funkcjonalności (463)
- 13.2.2. Zmiany addytywne (469)
- 13.2.3. Zmiany z przekazaniem (469)
- 13.2.4. Zmiany poszczególnych obiektów za pomocą metody extend (472)
- 13.2.5. Użycie doprecyzowań do zmiany zachowania podstawowych obiektów (475)
- 13.3. BasicObject jako przodek i klasa (476)
- 13.3.1. Użycie klasy BasicObject (476)
- 13.3.2. Implementowanie podklasy klasy BasicObject (478)
- 13.4. Podsumowanie (480)
Rozdział 14. Obiekty umożliwiające wywoływanie i uruchamianie (483)
- 14.1. Podstawowe funkcje anonimowe: klasa Proc (484)
- 14.1.1. Obiekty Proc (484)
- 14.1.2. Obiekty Proc i bloki oraz różnice między nimi (485)
- 14.1.3. Konwersje dotyczące bloków i obiektów Proc (487)
- 14.1.4. Użycie metody Symbol#to_proc do zapewnienia zwięzłości (490)
- 14.1.5. Obiekty Proc w roli domknięć (491)
- 14.1.6. Argumenty i parametry obiektu Proc (494)
- 14.2. Tworzenie funkcji za pomocą metody lambda i konstruktora -> (494)
- 14.3. Metody jako obiekty (496)
- 14.3.1. Przechwytywanie obiektów Method (496)
- 14.3.2. Powody używania metod jako obiektów (497)
- 14.4. Rodzina metod eval (499)
- 14.4.1. Przetwarzanie dowolnych łańcuchów jako kodu za pomocą metody eval (499)
- 14.4.2. Zagrożenia stwarzane przez metodę eval (501)
- 14.4.3. Metoda instance_eval (501)
- 14.4.4. Użycie metody class_eval (inaczej module_eval) (503)
- 14.5. Równoległe wykonywanie za pomocą wątków (505)
- 14.5.1. Kończenie działania, zatrzymywanie i uruchamianie wątków (506)
- 14.5.2. Serwer dat z wątkami (508)
- 14.5.3. Tworzenie serwera rozmów sieciowych używającego gniazd i wątków (509)
- 14.5.4. Wątki i zmienne (511)
- 14.5.5. Modyfikowanie kluczy wątków (512)
- 14.6. Wykonywanie poleceń systemowych w obrębie programów Ruby (515)
- 14.6.1. Metoda system i odwrócone apostrofy (515)
- 14.6.2. Komunikacja z programami za pośrednictwem metod open i Open3.popen3 (518)
- 14.7. Podsumowanie (521)
Rozdział 15. Wywołania zwrotne, "haki" i introspekcja w czasie wykonywania kodu (523)
- 15.1. Wywołania zwrotne i "haki" (524)
- 15.1.1. Przechwytywanie nierozpoznanych komunikatów za pomocą metody method_missing (525)
- 15.1.2. Wychwytywanie operacji dołączania i wstawiania na początku (528)
- 15.1.3. Przechwytywanie operacji rozszerzania (529)
- 15.1.4. Przechwytywanie dziedziczenia za pomocą metody Class#inherited (531)
- 15.1.5. Metoda Module#const_missing (532)
- 15.1.6. Metody method_added i singleton_method_added (533)
- 15.2. Interpretowanie zapytań dotyczących możliwości obiektów (535)
- 15.2.1. Wyświetlanie metod nieprywatnych obiektu (535)
- 15.2.2. Wyświetlanie listy metod prywatnych i chronionych (537)
- 15.2.3. Uzyskiwanie metod instancji klas i modułów (539)
- 15.2.4. Wyświetlanie listy metod pojedynczego obiektu danego obiektu (541)
- 15.3. Introspekcja zmiennych i stałych (543)
- 15.3.1. Wyświetlanie listy zmiennych lokalnych lub globalnych (543)
- 15.3.2. Wyświetlanie listy zmiennych instancji (543)
- 15.4. Śledzenie wykonywania kodu (544)
- 15.4.1. Sprawdzanie danych śledzenia stosu za pomocą metody caller (544)
- 15.4.2. Tworzenie narzędzia do analizowania danych śledzenia stosu (546)
- 15.5. Wywołania zwrotne i inspekcja metod w praktyce (549)
- 15.5.1. Fundament środowiska MicroTest: MiniTest (549)
- 15.5.2. Określanie i implementowanie narzędzia MicroTest (551)
- 15.6. Podsumowanie (554)
Skorowidz (557)
- Назва: Ruby. Przewodnik programisty. Wydanie II
- Автор: David A. Black
- Оригінальна назва: The Well-Grounded Rubyist, 2nd edition
- Переклад: Piotr Pilch
- ISBN: 978-83-283-1104-6, 9788328311046
- Дата видання: 2015-10-12
- Формат: Eлектронна книга
- Ідентифікатор видання: rubprp
- Видавець: Helion