Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программирование на языке Ruby

Покупка
Артикул: 615785.01.99
К покупке доступен более свежий выпуск Перейти
Фултон, Х. Программирование на языке Ruby [Электронный ресурс] / Х. Фултон. - Москва : ДМК Пресс, 2009. - 688 с.: ил. - ISBN 5-94074-357-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/406949 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
                Хэл Фултон




Программирование на языке Ruby

Москва

The Ruby Way, Second Edition










 Hal Fulton















      Addison Wesley
  Upper Saddle River, NJ • Boston • Indianapolis • San Francisco NewYork ♦ Toronto ♦ Montreal ♦ London ♦ Munich ♦ Paris ♦ Madrid Capetown ♦ Sydney ♦ Tokyo ♦ Singapore ♦ Mexico City

Программирование на языке Ruby







Хэл Фултон










Москва

УДК 004.438
ББК 32.973.26-018.2



      Фултон X.
Ф94 Программирование на языке Ruby. - М.: ДМК Пресс. - 688 с. : ил.

      ISBN 5-94074-357-9

        Ruby - относительно новый объектно-ориентированный язык, разработанный Юкихиро Мацумото в 1995 году и позаимствовавший некоторые особенности у языков LISP, Smalltalk, Perl, CLU и других. Язык активно развивается и применяется в самых разных областях: от системного администрирования до разработки сложных динамических сайтов.
        Книга является полноценным руководством по Ruby - ее можно использовать и как учебник, и как справочник, и как сборник ответов на вопросы типа «как сделать то или иное в Ruby». В ней приведено свыше 400 примеров, разбитых по различным аспектам программирования, и к которым автор дает обстоятельные комментарии.
        Издание предназначено для программистов самого широкого круга и самой разной квалификации, желающих научиться качественно и профессионально работать на Ruby.






                                                           УДК 004.438
ББК 32.973.26-018.2


          Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
          Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.

          All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without prior written permission the publisher. For information on getting permission for reprints and excerpts, contact permission@peachpit.com. RUSSIAN language edition published by DMK PUBLISHERS, Copyright © 2007.


ISBN 0672328844
ISBN 5-94074-357-9

                  Copyright © Pearson Education, Inc. © Оформление, ДМК Пресс

Содержание
Предисловие.......................................... 12
Обавторе............................................. 17
Введение............................................. 18
  О втором издании....................................18
  Как организована эта книга..........................21
  Об исходныхтекстах, приведенных в книге.............23
  «Путь Ruby».........................................24
Глава 1. Обзор Ruby...................................29
  1.1. Введение в объектно-ориентированное программирование...................................30
  1.2. Базовый синтаксис и семантика Ruby.............35
  1.3. ООПвRuby.......................................48
  1.4. Динамические аспекты Ruby......................57
  1.5. Потренируйте свою интуицию: что следует запомнить.61
  1.6. Жаргон Ruby....................................76
  1.7. Заключение.....................................79
Глава 2. Строки.......................................80
  2.1. Представление обычных строк....................80
  2.2. Альтернативная нотация для представления строк.81
  2.3. Встроенныедокументы
  2.4. Получениедлины строки..........................83
  2.5. Построчная обработка...........................83
  2.6. Побайтовая обработка...........................84
  2.7. Специализированное сравнение строк.............84
  2.8. Разбиение строки налексемы.....................85
  2.9. Форматирование строк...........................87
  2.10. Строки в качестве объектов ввода/вывода.......87
  2.11. Управление регистром..........................88
  2.12. Вычленение и замена подстрок..................88
  2.13. Подстановкавстроках...........................90
  2.14. Поисквстроке..................................91

Содержание

  2.15. Преобразование символов в коды ASCII и обратно......92
  2.16. Явные и неявные преобразования..................92
  2.17. Дописывание в конец строки......................94
  2.18. Удаление хвостовых символов новой строки и прочих...94
  2.19. Удаление лишних пропусков.......................95
  2.20. Повтор строк....................................96
  2.21. Включение выражений в строку....................96
  2.22. Отложенная интерполяция.........................96
  2.23. Разборданных, разделенныхзапятыми...............97
  2.24. Преобразование строки в число (десятичное или иное).98
  2.25. Кодирование и декодирование строк в кодировке rot13.99
  2.26. Шифрование строк...............................100
  2.27. Сжатие строк...................................101
  2.28. Подсчет числа символов в строке................101
  2.29. Обращение строки...............................102
  2.30. Удаление дубликатов............................102
  2.31. Удаление заданных символов.....................102
  2.32. Печать специальных символов....................102
  2.33. Генерирование последовательности строк.........103
  2.34. Вычисление 32-разрядного CRC...................103
  2.35. Вычисление МО5-свертки строки..................104
  2.36. Вычисление расстоянияЛевенштейна между двумя строками.................................105
  2.37. Ьаэе64-кодирование и декодирование.............106
  2.38. Кодирование и декодирование строк (uuencode/uudecode)..................................107
  2.39. Замена символов табуляции пробелами и сворачивание пробелов в табуляторы.................107
  2.40. Цитированиетекста..............................108
  2.41. Заключение.....................................109
Глава 3. Регулярные выражения..........................110
  3.1. Синтаксис регулярных выражений..................110
  3.2. Компиляция регулярных выражений.................112
  3.3. Экранирование специальных символов..............113
  3.4. Якоря...........................................113
  3.5. Кванторы........................................114
  3.6. Позитивное и негативное заглядывание вперед.....116
  3.7. Обратные ссылки.................................117
  3.8. Классы символов.................................119
  3.9. Обобщенные регулярные выражения.................120

Содержание

Hill

7

  3.10. Сопоставлениеточки символу конца строки.......121
  3.11. Внутренние модификаторы.......................122
  3.12. Внутренние подвыражения.......................122
  3.13. ИиЬуи Oniguruma...............................123
  3.14. Примеры регулярных выражений..................129
  3.15. Заключение....................................133
Глава 4. Интернационализация в Ruby...................134
  4.1. Исторические сведения и терминология...........135
  4.2. Кодировки в пост-ASCII мире....................139
  4.3. Справочники сообщений..........................150
  4.4. Заключение.....................................157
Глава 5. Численные методы.............................158
  5.1. Представление чисел в языке Ruby...............158
  5.2. Основные операции над числами..................159
  5.3. Округление чисел с плавающей точкой............160
  5.4. Сравнение чисел с плавающей точкой.............162
  5.5. Форматирование чисел для вывода................163
  5.6. Вставка разделителей при форматировании чисел..163
  5.7. Работа с очень большими числами................164
  5.8. Использованиекласса BigDecimal.................164
  5.9. Работа с рациональными числами.................166
  5.10. Перемножение матриц...........................167
  5.11. Комплексные числа.............................171
  5.12. Библиотека mathn..............................172
  5.13. Разложение на простые множители, вычисление НОД и НОК................................172
  5.14. Простыечисла..................................173
  5.15. Явные и неявные преобразования чисел..........174
  5.16. Приведениечисловыхзначений....................175
  5.17. Поразрядные операции над числами..............176
  5.18. Преобразование системы счисления..............177
  5.19. Извлечение кубических корней, корней четвертой степени ит. д......................178
  5.20. Определение порядка байтов....................178
  5.21. Численное вычисление определенного интеграла..179
  5.22. Тригонометрия в градусах, радианах и градах...180
  5.23. Неэлементарная тригонометрия..................181
  5.24. Вычисление логарифмов по произвольному основанию... 182
  5.25. Вычисление среднего, медианы и моды набораданных ...182

Содержание

  5.26. Дисперсия и стандартное отклонение...............183
  5.27. Вычисление коэффициента корреляции...............184
  5.28. Генерирование случайных чисел....................185
  5.29. Кэширование функций с помощью метода memoize....186
  5.30. Заключение.......................................187
Глава 6. Символы и диапазоны ............................188
  6.1. Символы...........................................188
  6.2. Диапазоны.........................................192
  6.3. Заключение........................................200
Глава 7. Дата и время....................................202
  7.1. Определение текущего момента времени..............203
  7.2. Работа с конкретными датами (после точки отсчета).203
  7.3. Определение дня недели............................204
  7.4. Определениедаты Пасхи.............................204
  7.5. Вычисление n-ого дня недели в месяце..............205
  7.6. Преобразование из секунд в более крупные единицы.206
  7.7. Вычисление промежутка времени, прошедшего от точки отсчета.........................207
  7.8. Високосныесекунды.................................207
  7.9. Определение порядкового номера дня в году.........208
  7.10. Контрольдаты и времени...........................208
  7.11. Определение недели в году........................209
  7.12. Проверка года на високосность....................210
  7.13. Определение часового пояса.......................210
  7.14. Манипулирование временем без даты................211
  7.15. Сравнение моментов времени.......................211
  7.16. Прибавление интервала к моменту времени..........211
  7.17. Вычисление разности междудвумя моментами времени.............................................212
  7.18. Работа с конкретными датами (до точки отсчета)...212
7.19. Взаимные преобразования объектов Date, Time и DateTime....................................213
  7.20. Извлечение даты и времени из строки..............214
  7.21. Форматирование и печать даты и времени...........215
  7.22. Преобразование часовых поясов....................216
  7.23. Определение числа дней в месяце..................216
  7.24. Разбиение месяца на недели.......................216
  7.25. Заключение.......................................218

Содержание

9

Глава 8. Массивы, хэши и другие перечисляемые структуры...................219
  8.1. Массивы.......................................219
  8.2. Хэши..........................................242
  8.3. Перечисляемыеструктуры вобщем.................252
  8.4. Заключение....................................259
Глава 9. Более сложные структуры данных..............260
  9.1. Множества.....................................260
  9.2. Стеки и очереди...............................263
  9.3. Деревья.......................................268
  9.4. Графы.........................................274
  9.5. Заключение....................................280
Глава 10. Ввод/вывод и хранение данных...............281
  10.1. Файлы и каталоги.............................282
  10.2. Доступ кданным более высокого уровня.........306
  10.3. Библиотека KirbyBase.........................314
  10.4. Подключение к внешним базам данных...........317
  10.5. Заключение...................................329
Глава 11. ООП и динамические механизмы в Ruby........330
  11.1. Рутинные объектно-ориентированныезадачи......331
  11.2. Более сложные механизмы......................356
  11.3. Динамические механизмы.......................375
  11.4. Заключение...................................395
Глава 12. Графические интерфейсы для Ruby............396
  12.1. Ruby/Tk......................................397
  12.2. Ruby/GTK2....................................409
  12.3. FXRuby(FOX)..................................422
  12.4. QtRuby.......................................436
  12.5. Другие библиотеки для создания графических интерфейсов...............446
  12.6. Заключение...................................447
Глава 13. Потоки в Ruby..............................448
  13.1. Создание потоков и манипулирование ими.......449
  13.2. Синхронизация потоков........................458
  13.3. Заключение...................................473

Содержание

Глава 14. Сценарии и системное администрирование......................474
  14.1. Запуск внешних программ.....................474
  14.2. Флаги и аргументы в командной строке........479
  14.3. БиблиотекаЗИеП..............................482
  14.4. Переменныеокружения.........................485
  14.5. Сценарии на платформе MicrosoftWindows......487
  14.6. Моментальный инсталлятордляWindows..........493
  14.7. Библиотеки, о которых полезно знать.........494
  14.8. Работа с файлами, каталогами и деревьями....495
  14.9. Различныесценарии...........................498
  14.10. Заключение.................................502
Глава 15. ЯиЬуи форматыданных.......................503
  15.1. РазборХМ1_иРЕХМ1_...........................503
  15.2. РЗЗиАФт.....................................508
  15.3. Обработка изображений с помощью RMagick.....512
  15.4. Создание документов в формате PDF с помощью библиотеки PDF::Writer...................521
  15.5. Заключение..................................530
Глава 16. Тестирование и отладка....................531
  16.1. БиблиотекаTest::Unit........................531
  16.2. KомплектинструментовZenTest.................535
  16.3. Работасотладчиком Ruby......................538
  16.4. Использование irb в качестве отладчика......541
  16.5. Измерение покрытия кода.....................542
  16.6. Измерениепроизводительности.................543
  16.7. Объекты печати..............................547
  16.8. Заключение..................................548
Глава 17. Создание пакетов и распространение программ.........................550
  17.1. Программа RDoc..............................550
  17.2. Установка и подготовка пакета...............555
  17.3. RubyForgeиRАА...............................559
  17.4. Заключение..................................560
Глава 18. Сетевое программирование...................561
  18.1. Сетевые серверы.............................562
  18.2. Сетевые клиенты.............................572
  18.3. Заключение..................................591

К покупке доступен более свежий выпуск Перейти