Содержание
Предисловие
Глава 1. Обзор Ruby
1.1. Введение в объектно-ориентированное
программирование
1.2. Базовый синтаксис и семантика Ruby
1.3. ООП в Ruby
1.4. Динамические аспекты Ruby
1.5. Потренируйте свою интуицию: что следует запомнить
1.6. Жаргон Ruby Заключение
Глава 2. Строки
2.1. Представление обычных строк
2.2. Альтернативная нотация для представления строк
2.3. Встроенные документы2.4. Получение длины строки
2.5. Построчная обработка
2.6. Побайтовая обработка
2.7. Специализированное сравнение строк
2.8. Разбиение строки на лексемы
2.9. Форматирование строк
2.10. Строки в качестве объектов ввода/вывода
2.11. Управление регистром
2.12. Вычленение и замена подстрок
2.13. Подстановка в строках
2.14. Поиск в строке
2.15. Преобразование символов в коды ASCII и обратно
2.16. Явные и неявные преобразования
2.17. Дописывание в конец строки
2.18. Удаление хвостовых символов новой строки и прочих
2.19. Удаление лишних пропусков
2.20. Повтор строк
2.21. Включение выражений в строку
2.22. Отложенная интерполяция
2.23. Разбор данных, разделенных запятыми
2.24. Преобразование строки в число (десятичное или иное)
2.25. Кодирование и декодирование строк в кодировке rot13
2.26. Шифрование строк
2.27. Сжатие строк
2.28. Подсчет числа символов в строке
2.29. Обращение строки
2.30. Удаление дубликатов
2.31. Удаление заданных символов
2.32. Печать специальных символов
2.33. Генерирование последовательности строк
2.34. Вычисление 32-разрядного CRC
2.35. Вычисление MD5-свертки строки
2.36. Вычисление расстояния Левенштейна
между двумя строками
2.37. base64-кодирование и декодирование
2.38. Кодирование и декодирование строк
(uuencode/uudecode)
2.39. Замена символов табуляции пробелами
и сворачивание пробелов в табуляторы
2.40. Цитирование текста
2.41. Заключение
Глава 3. Регулярные выражения
3.1. Синтаксис регулярных выражений
3.2. Компиляция регулярных выражений
3.3. Экранирование специальных символов
3.4. Якоря
3.5. Кванторы
3.6. Позитивное и негативное заглядывание вперед
3.7. Обратные ссылки
3.8. Классы символов
3.9. Обобщенные регулярные выражения
3.10. Сопоставление точки символу конца строки
3.11. Внутренние модификаторы
3.12. Внутренние подвыражения
3.13. Ruby и Oniguruma
3.14. Примеры регулярных выражений
3.15. Заключение
Глава 4. Интернационализация в Ruby
4.1. Исторические сведения и терминология
4.2. Кодировки в пост-ASCII мире
4.3. Справочники сообщений
4.4. Заключение
Глава 5. Численные методы
5.1. Представление чисел в языке Ruby
5.2. Основные операции над числами
5.3. Округление чисел с плавающей точкой
5.4. Сравнение чисел с плавающей точкой
5.5. Форматирование чисел для вывода
5.6. Вставка разделителей при форматировании чисел
5.7. Работа с очень большими числами
5.8. Использование класса BigDecimal
5.9. Работа с рациональными числами
5.10. Перемножение матриц
5.11. Комплексные числа
5.12. Библиотека mathn
5.13. Разложение на простые множители,
вычисление НОД и НОК
5.14. Простые числа
5.15. Явные и неявные преобразования чисел
5.16. Приведение числовых значений
5.17. Поразрядные операции над числами
5.18. Преобразование системы счисления
5.19. Извлечение кубических корней,
корней четвертой степени и т. д.
5.20. Определение порядка байтов
5.21. Численное вычисление определенного интеграла
5.22. Тригонометрия в градусах, радианах и градах
5.23. Неэлементарная тригонометрия.
5.24. Вычисление логарифмов по произвольному основанию
5.25. Вычисление среднего, медианы и моды набора данных
5.26. Дисперсия и стандартное отклонение
5.27. Вычисление коэффициента корреляции
5.28. Генерирование случайных чисел
5.29. Кэширование функций с помощью метода memoize
5.30. Заключение
Глава 6. Символы и диапазоны
6.1. Символы
6.2. Диапазоны
6.3. Заключение
Глава 7. Дата и время
7.1. Определение текущего момента времени
7.2. Работа с конкретными датами (после точки отсчета)
7.3. Определение дня недели
7.4. Определение даты Пасхи
7.5. Вычисление n-ого дня недели в месяце
7.6. Преобразование из секунд в более крупные единицы
7.7. Вычисление промежутка времени,
прошедшего от точки отсчета
7.8. Високосные секунды
7.9. Определение порядкового номера дня в году
7.10. Контроль даты и времени
7.11. Определение недели в году
7.12. Проверка года на високосность
7.13. Определение часового пояса
7.14. Манипулирование временем без даты
7.15. Сравнение моментов времени
7.16. Прибавление интервала к моменту времени
7.17. Вычисление разности между двумя моментами
времени
7.18. Работа с конкретными датами (до точки отсчета)
7.19. Взаимные преобразования объектов Date,
Time и DateTime
7.20. Извлечение даты и времени из строки
7.21. Форматирование и печать даты и времени
7.22. Преобразование часовых поясов
7.23. Определение числа дней в месяце
7.24. Разбиение месяца на недели.
7.25. Заключение
9
Глава 8. Массивы, хэши
и другие перечисляемые структуры
8.1. Массивы
8.2. Хэши.
8.3. Перечисляемые структуры в общем
8.4. Заключение
Глава 9. Более сложные структуры данных
9.1. Множества
9.2. Стеки и очереди
9.3. Деревья
9.4. Графы
9.5. Заключение
Глава 10. Ввод/вывод и хранение данных
10.1. Файлы и каталоги
10.2. Доступ к данным более высокого уровня.
10.3. Библиотека KirbyBase
10.4. Подключение к внешним базам данных
10.5. Заключение
Глава 11. ООП и динамические механизмы в Ruby
11.1. Рутинные объектно-ориентированные задачи.
11.2. Более сложные механизмы
11.3. Динамические механизмы.
11.4. Заключение
Глава 12. Графические интерфейсы для Ruby
12.1. Ruby/Tk
12.2. Ruby/GTK2
12.3. FXRuby (FOX)
12.4. QtRuby
12.5. Другие библиотеки
для создания графических интерфейсов
12.6. Заключение
Глава 13. Потоки в Ruby
13.1. Создание потоков и манипулирование ими.
13.2. Синхронизация потоков
13.3. Заключение
Глава 14. Сценарии
и системное администрирование
14.1. Запуск внешних программ
14.2. Флаги и аргументы в командной строке
14.3. Библиотека Shell
14.4. Переменные окружения
14.5. Сценарии на платформе Microsoft Windows
14.6. Моментальный инсталлятор для Windows
14.7. Библиотеки, о которых полезно знать
14.8. Работа с файлами, каталогами и деревьями
14.9. Различные сценарии.
14.10. Заключение.
Глава 15. Ruby и форматы данных
15.1. Разбор XML и REXML
15.2. RSS и Atom
15.3. Обработка изображений с помощью RMagick
15.4. Создание документов в формате PDF
с помощью библиотеки PDF::Writer.
15.5. Заключение
Глава 16. Тестирование и отладка
16.1. Библиотека Test::Unit .
16.2. Комплект инструментов ZenTest
16.3. Работа с отладчиком Ruby
16.4. Использование irb в качестве отладчика
16.5. Измерение покрытия кода.
16.6. Измерение производительности.
16.7. Объекты печати.
16.8. Заключение.
Глава 17. Создание пакетов
и распространение программ .
17.1. Программа RDoc.
17.2. Установка и подготовка пакета
17.3. RubyForge и RAA
17.4. Заключение
Глава 18. Сетевое программирование
18.1. Сетевые серверы
18.2. Сетевые клиенты.
18.3. Заключение
Глава 19. Ruby и Web-приложения
19.1. Программирование CGI на Ruby
19.2. FastCGI
19.3. Ruby on Rails
19.4. Разработка Web-приложений с помощью Nitro
19.5. Введение в Wee.
19.6. Разработка Web-приложений с помощью IOWA
19.7. Ruby и Web-сервер
19.8. Заключение.
Глава 20. Распределенный Ruby.
20.1. Обзор: библиотека drb
20.2. Пример: эмуляция биржевой ленты.
20.3. Rinda: пространство кортежей в Ruby.
20.4. Обнаружение сервисов в распределенном Ruby
20.5. Заключение.
Глава 21. Инструменты разработки для Ruby
21.1. Система RubyGems.
21.2. Программа Rake
21.3. Оболочка irb
21.4. Утилита ri
21.5. Поддержка со стороны редакторов
21.6. Интегрированные среды разработки
21.7. Заключение
Глава 22. Сообщество пользователей Ruby
22.1. Ресурсы в Web
22.2. Новостные группы и списки рассылки
22.3. Блоги и онлайновые журналы
22.4. Запросы на изменение Ruby
22.5. Каналы IRC
22.6. Конференции по Ruby.
22.7. Локальные группы пользователей Ruby
22.8. Заключение
Алфавитный указатель