Программирование на языке Ruby
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Автор:
Фултон Хэл
Перевод:
Слинкин Алексей Александрович
Год издания: 2023
Кол-во страниц: 689
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное профессиональное образование
ISBN: 978-5-89818-531-2
Артикул: 615785.03.99
Ruby - относительно новый объектно-ориентированный язык, разработанный Юкихиро Мацумото в 1995 году и позаимствовавший некоторые особенности у языков LISP, Smalltalk, Perl, CLU и других. Язык активно развивается и применяется в самых разных областях: от системного администрирования до разработки сложных динамических сайтов.
Книга является полноценным руководством по Ruby - ее можно использовать и как учебник, и как справочник, и как сборник ответов на вопросы типа «как сделать то или иное в Ruby». В ней приведено свыше 400 примеров, разбитых по различным аспектам программирования, и к которым автор дает обстоятельные комментарии.
Издание предназначено для программистов самого широкого круга и самой разной квалификации, желающих научиться качественно и профессионально работать на Ruby.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Программирование
- Программирование и алгоритмизация
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Хэл Фултон Программирование на языке Ruby
The Ruby Way, Second Edition Hal Fulton A Addison Wesley Upper Saddle River, NJ • Boston • Indianapolis • San Francisco NewYork • Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City
Программирование на языке Ruby Хэл Фултон 2-е издание, электронное Москва, 2023
УДК 004.438 ББК 32.973.26-018.2 Ф94 Фултон, Хэл. Ф94 Программирование на языке Ruby / X. Фултон ; пер. с англ. А. А. Слинкина. — 2-е изд., эл. — 1 файл pdf : 689 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-531-2 Ruby — относительно новый объектно-ориентированный язык, разработанный Юкихиро Мацумото в 1995 году и позаимствовавший некоторые особенности у языков LISP, Smalltalk, Perl, CLU и других. Язык активно развивается и применяется в самых разных областях: от системного администрирования до разработки сложных динамических сайтов. Книга является полноценным руководством по Ruby — ее можно использовать и как учебник, и как справочник, и как сборник ответов на вопросы типа «как сделать то или иное в Ruby». В ней приведено свыше 400 примеров, разбитых по различным аспектам программирования, и к которым автор дает обстоятельные комментарии. Издание предназначено для программистов самого широкого круга и самой разной квалификации, желающих научиться качественно и профессионально работать на Ruby. УДК 004.438 ББК 32.973.26-018.2 Электронное издание на основе печатного издания: Программирование на языке Ruby / X. Фултон ; пер. с англ. А. А. Слинкина. — Москва : ДМК Пресс, 2014. — 688 с. — ISBN 978-594074-995-0. — Текст : непосредственный. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-531-2 © Pearson Education, Inc. © Оформление, ДМК Пресс, 2014
Содержание Предисловие............................................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
Содержание I 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
Содержание ’ Глава 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. Ruby и форматы данных......................503 15.1. РазборХМБиРЕХМР..............................503 15.2. RSS и Atom...................................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 и RAA..............................559 17.4. Заключение...................................560 Глава 18. Сетевое программирование...................561 18.1. Сетевые серверы..............................562 18.2. Сетевые клиенты..............................572 18.3. Заключение...................................591