Главная| Трекер ▼| Поиск| Правила| FAQ| |
Автор | Сообщение |
---|---|
Искра
Модератор ![]() Сообщения: 30721 ![]() |
Perl: Изучаем глубже, 2-е издание
![]() Год: 2007 Автор: Рэндал Л. Шварц, Брайан Д. Фой и Том Феникс Издательство: Символ-Плюс ISBN: 978-5-93286-093-9, 5-93286-093-6 Язык: Русский Формат: PDF Качество: Изначально компьютерное (eBook) Интерактивное оглавление: Да Количество страниц: 310 Описание: Книга "Perl: изучаем глубже" - продолжение мирового бестселлера "Learning Perl" ("Изучаем Perl"), известного под названием "Лама". Издание поможет вам перешагнуть грань, отделяющую любителя от профессионала, и научит писать на Perl настоящие программы, а не разрозненные сценарии. Материал изложен компактно и в занимательной форме, главы завершаются упражнениями, призванными помочь закрепить полученные знания. Рассмотрены пакеты и пространства имен, ссылки и области видимости, создание и использование модулей. Вы научитесь с помощью ссылок управлять структурами данных произвольной сложности, узнаете, как обеспечить совместимость программного кода, написанного разными программистами. Уделено внимание и ООП, которое поможет повторно использовать части кода. Обсуждаются создание дистрибутивов, аспекты тестирования и передача собственных модулей в CPAN. Книга адресована широкому кругу программистов, знакомых с основами Perl и стремящихся повысить свою квалификацию. Разные специалисты видят Perl по-разному. Для одних это инструмент быстрой разработки сценариев, для других - полноценный объектно-ориентированный язык программирования. Он применяется повсюду, начиная от простейших операций поиска и замены фрагментов в текстовых файлах и заканчивая обработкой огромных массивов научных данных, которая может длиться неделями. Каждый программист находит для Perl свое применение. Но любому из них данная книга поможет писать более эффективные, надежные и изящные программы. Вступительное слово Предисловие 1. Введение Что вы должны знать? Как быть со сносками? Как быть с упражнениями? Что делать, если я преподаю Perl? 2. Основы Операторы списков Организация ловушек ошибок с помощью eval Исполнение программного кода, созданного динамически Упражнения 3. Модули Стандартный дистрибутив Использование модулей Функциональные интерфейсы Как составить список импорта Объектно-ориентированные интерфейсы Типичный объектно-ориентированный модуль Math:BigInt Единая архивная сеть Perl Установка модулей из CPAN Настройка списка каталогов для поиска модулей Упражнения 4. Введение в ссылки Выполнение однотипных действий с разными массивами Ссылки на массивы Разыменование ссылок на массивы Избавляемся от фигурных скобок Модификация массивов Вложенные структуры данных Упрощаем доступ к вложенным структурам с помощью стрелок Ссылки на хеши Упражнения 5. Ссылки и области видимости Несколько ссылок на данные А если это было имя структуры? Подсчет ссылок и вложенные структуры данных Ошибки при подсчете ссылок Создание анонимных массивов Создание анонимных хешей Автовивификация Автовивификация и хеши Упражнения 6. Управление сложными структурами данных Использование отладчика для просмотра данных со сложной структурой Просмотр данных со сложной структурой с помощью модуля Data::Dumper YAML Сохранение данных со сложной структурой с помощью модуля Storable Операторы grep и map Обходное решение Выбор и модификация данных со сложной структурой Упражнения 7. Ссылки на подпрограммы Ссылки на именованные подпрограммы Анонимные подпрограммы Подпрограммы обратного вызова Замыкания Подпрограмма как возвращаемое значение другой подпрограммы Использование переменных замыканий для ввода данных Переменные замыканий как статические локальные переменные Упражнения 8. Ссылки на дескрипторы файлов Старый способ Улучшенный способ Способ ещё лучше IO::Handle Ссылки на дескрипторы каталогов Упражнения 9. Практические приемы работы со ссылками Краткий обзор способов сортировки Сортировка по индексам Эффективность алгоритмов сортировки Преобразование Шварца Многоуровневая сортировка на основе преобразования Шварца Данные с рекурсивной организацией Построение структур данных с рекурсивной организацией Отображение данных с рекурсивной организацией Упражнения 10. Разработка больших программ Ликвидация повторяющихся участков программного кода Вставка программного кода с помощью eval С помощью оператора do С помощью директивы require require и @NIC Конфликт имен Имена пакетов как разделители пространст имен Область видимости директивы package Пакеты и лексические переменные Упражнения 11. Введение в объекты Если бы мы могли говорить на языке зверей... Вызов метода с помощью оператора "стрелка" Дополнительный параметр при вызове метода Вызов второго метода с целью упрощения Несколько замечаний о массиве @ISA Перекрытие методов Поиск унаследованного метода SUPER способ добиться того же самого Зачем нужен аргумент @_ Что мы узнали... Упражнения 12. Объекты и данные Лошадь лошади рознь Вызов метода экземпляра Доступ к данным экземпляра Как создать лошадь Наследование конструктора Создание метода, работающего как с экземплярами, так и с классами Добавление параметров к методам Более сложные экземпляры Лошадь другого цвета Что возвращать Не открывайте черный ящик Оптимизация методов доступа Операция чтения и записи в одном методе Ограничение доступа к методам только по имени класса или только для экземпляров класса Упражнения 13. Уничтожение объектов Уборка мусора Уничтожение вложенных объектов Вторичная переработка Форма косвенного обращения к объектам Дополнительные переменные экземпляра в подклассах Переменные класса Слабые ссылки Упражнения 14. Дополнительные сведения об объектах Методы класса UNIVERSAL Проверка возможностей объектов Метод AUTOLOAD как последняя инстанция Применение AUTOLOAD для реализации методов доступа Более простой способ создания методов доступа Множественное наследование Упражнения 15. Экспортирование Что делает директива use Импорт с помощью модуля Exporter @EXPORT и @EXPORT_OK %EXPORT_TAGS Экспорт имен в объектно-ориентированных модулях Собственные подпрограммы импорта Упражнения 16. Создание дистрибутива Собрать дистрибутив можно разными способами Программа h2xs Файл README Встроенная документация Управление дистрибутивом с помощью Makefile.PL Изменение каталога установки (PREFIX=...) Тривиальная команда make test Тривиальная команда make install Тривиальная команда make dist Дополнительные каталоги с библиотеками Упражнения 17. Основы тестирования Чем больше тестов, тем лучше программный код Простейший сценарий с тестами Искусство тестирования Тестирующая система Разработка тестов с помощью Test::More Тестирование объектно-ориентированных особенностей Списки To-Do тестов Пропуск тестов Более сложные тесты (несколько тестовых сценариев) Упражнения 18. Дополнительные сведения о тестировании Тестирование длинных строк Тестирование файлов Тестирование устройств STDOUT и STDERR Работа с ложными объектами Тестирование документации в формате POD Степень покрытия тестами Разработка собственных модулей Test: Упражнения 19. Передача модулей в CPAN Всемирная сеть архивов Perl Первый шаг Подготовка дистрибутива Передача дистрибутива на сервер Объявление о выпуске модуля Тестирование на нескольких платформах Подумайте о написании статьи или доклада Упражнения A. Ответы к упражнениям Алфавитный указатель Помоги нашему сайту на расходы за сервер и качай торренты НЕОГРАНИЧЕННО!Пожертвовать 100 ₽ ![]() Или 2204 1201 2214 8816, с комментарием "Помощь трекеру" Связь с администрацией |
Страница 1 из 1 |
![]() |
|