Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 634794)
Контекстум
Руконтекст антиплагиат система

Введение в Elixir. Введение в функциональное программирование (3000,00 руб.)

0   0
Первый авторСенлорен
АвторыЭйзенберг Д.
ИздательствоМ.: ДМК Пресс
Страниц263
ID794776
АннотацияКрасивый, мощный и компактный, язык программирования Elixir отлично подходит для изучения функционального программирования, и это практическое руководство покажет, насколько широкими возможностями он обладает. В книге рассказано, как Elixir сочетает в себе надежность языка функционального программирования Erlang с подходом, свойственным языку Ruby, а также мощную поддержку макросов для метапрограммирования. В итоге вы поймете, почему на Elixir так просто писать параллельные, надежные и отказоустойчивые программы, которые легко масштабируются как вверх, так и вниз!
ISBN978-5-97060-518-9
УДК004.438Elixir
ББК32.973.3
Сенлорен, С. Введение в Elixir. Введение в функциональное программирование / Д. Эйзенберг; С. Сенлорен .— Москва : ДМК Пресс, 2017 .— 263 с. — ISBN 978-5-97060-518-9 .— URL: https://rucont.ru/efd/794776 (дата обращения: 25.04.2024)

Предпросмотр (выдержки из произведения)

Введение_в_Elixir._Введение_в_функциональное_программирование.pdf
УДК 004.438Elixir ББК 32.973.3 С31 C31 Введение в Elixir: введение в функциональное программирование / пер. с анг. А. Н. Киселева – М.: ДМК Пресс, 2017. – 262 с.: ил. Сенлорен С., Эйзенберг Д. ISBN 978-5-97060-518-9 Красивый, мощный и компактный, язык программирования Elixir отлично подходит для изучения функционального программирования, и это практическое руководство покажет, насколько широкими возможностями он обладает. В книге рассказано, как Elixir сочетает в себе надежность языка функционального программирования Erlang с подходом, свойственным языку Ruby, а также мощную поддержку макросов для метапрограммирования. В итоге вы поймете, почему на Elixir так просто писать параллельные, надежные и отказоустойчивые программы, которые легко масштабируются как вверх, так и вниз! УДК 004.438Elixir ББК 32.973.3 Authorized Russian translation of the English edition of Introducing Elixir, 2nd Edition, ISBN 9781491956779 © 2017 Simon St. Laurent, J. David Eisenberg. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same. Все права защищены. Любая часть этой книги не может быть воспроизМатериал, изложенный в данной книге, многократно проверен. Но поведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. скольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1-491-95677-9 (анг.) ISBN 978-5-97060-518-9 (рус.) © 2017 Simon St. Laurent and J. David Eisenberg © Оформление, издание, ДМК Пресс, 2017
Стр.5
Содержание Предисловие .......................................................................................................10 Глава 1. Устраиваемся поудобнее .................................................19 Установка ......................................................................................................................19 Установка Erlang ...................................................................................................19 Установка Eli xir .....................................................................................................20 Запуск ............................................................................................................................21 Первые шаги ................................................................................................................22 Навигация по тексту и истории команд .......................................................23 Навигация по файлам .........................................................................................23 Сделаем что-нибудь ..................................................................................................24 Вызов функций ...........................................................................................................25 Числа в Eli xir ...............................................................................................................26 Работа с переменными в оболочке .......................................................................28 Глава 2. Функции и модули ...................................................................31 Игры с fn ........................................................................................................................31 И & ..................................................................................................................................33 Определение модулей ..............................................................................................34 От модулей к свободным функциям ...................................................................38 Деление кода на модули ..........................................................................................38 Комбинирование функций с помощью оператора конвейера ....................40 Импортирование функций .....................................................................................41 Значения по умолчанию для аргументов ..........................................................42 Документирование кода ..........................................................................................43 Документирование функций ............................................................................44 Документирование модулей .............................................................................46 Глава 3. Атомы, кортежи и сопоставление с образцом ............................................................................................................48 Атомы .............................................................................................................................48 Сопоставление с образцом и атомы .....................................................................49 Логические атомы ......................................................................................................50
Стр.6
6  Содержание Ограничители ..............................................................................................................52 Обозначайте подчеркиванием все, что не важно ............................................55 Структуры данных: кортежи ..................................................................................57 Сопоставление с образцом и кортежи ...........................................................58 Обработка кортежей ............................................................................................59 Глава 4. Логика и рекурсия ...................................................................62 Логика внутри функций ..........................................................................................62 Конструкция case ..................................................................................................62 Конструкция cond .................................................................................................65 if или else ..................................................................................................................66 Присваивание значений переменным в конструкциях case и if ...........68 Самый желательный побочный эффект: IO.puts ............................................69 Простая рекурсия .......................................................................................................71 Обратный отсчет ...................................................................................................71 Прямой отсчет ........................................................................................................73 Рекурсия с возвратом значения .......................................................................74 Глава 5. Взаимодействие с человеком .....................................79 Строки ............................................................................................................................79 Многострочные строки ............................................................................................82 Юникод ..........................................................................................................................82 Списки символов .......................................................................................................83 Строковые метки ........................................................................................................84 Запрос информации у пользователя ...................................................................85 Ввод символов .......................................................................................................85 Чтение строк текста .............................................................................................86 Глава 6. Списки .................................................................................................91 Основы списков ..........................................................................................................91 Деление списков на головы и хвосты .................................................................93 Обработка содержимого списков .........................................................................94 Создание списка из головы и хвоста ...................................................................96 Смешивание списков и кортежей ........................................................................99 Создание списка списков ........................................................................................99 Глава 7. Пары имя/значение ............................................................ 103 Списки ключей ........................................................................................................ 103 Списки кортежей с несколькими ключами ................................................... 105
Стр.7
Содержание  7 Словари ...................................................................................................................... 106 От списков к отображениям ................................................................................ 107 Создание отображений .................................................................................... 108 Изменение отображений ................................................................................. 108 Чтение отображений ......................................................................................... 109 От отображений к структурам ........................................................................... 109 Объявление структур ........................................................................................110 Создание и чтение экземпляров структур .................................................110 Использование структур в сопоставлениях с образцом .......................111 Использование структур в функциях..........................................................112 Добавление поведения в структуры .............................................................114 Расширение существующих протоколов....................................................116 Глава 8. Функции высшего порядка и генераторы списков ..............................................................................118 Простые функции высшего порядка .................................................................118 Создание новых списков с помощью функций высшего порядка ......... 121 Получение информации о списке ................................................................ 121 Обработка элементов списка с помощью функций ............................... 122 Фильтрация значений в списках .................................................................. 123 За пределами возможностей генераторов списков ..................................... 124 Проверка списков .............................................................................................. 124 Разбиение списков ............................................................................................ 125 Свертка списков ................................................................................................. 126 Глава 9. Процессы ...................................................................................... 129 Интерактивная оболочка – это процесс .......................................................... 129 Порождение процессов из модулей .................................................................. 132 Легковесные процессы .......................................................................................... 135 Регистрация процесса ............................................................................................ 136 Когда процесс останавливается ......................................................................... 137 Взаимодействие между процессами ................................................................. 138 Наблюдение за процессами ................................................................................. 141 Наблюдение за движением сообщений между процессами ................ 143 Разрыв и установка связей между процессами ............................................ 145 Глава 10. Исключения, ошибки и отладка ........................... 152 Виды ошибок ............................................................................................................ 152 Восстановление работоспособности после ошибок времени выполнения ............................................................................................................... 153
Стр.8
8  Содержание Журналирование результатов выполнения и ошибок ............................... 156 Трассировка сообщений ........................................................................................ 157 Трассировка вызовов функций .......................................................................... 159 Глава 11. Статический анализ, спецификации типов и тестирование .............................................................................. 161 Статический анализ ............................................................................................... 161 Спецификации типов ............................................................................................ 164 Модульные тесты .................................................................................................... 167 Настройка тестов .................................................................................................... 170 Встраивание тестов в документацию ............................................................... 172 Глава 12. Хранение структурированных данных .......... 173 Записи: структурирование данных до появления структур .................... 173 Определение записей ....................................................................................... 174 Создание и чтение записей ............................................................................. 175 Использование записей в функциях ........................................................... 177 Сохранение данных в долговременном хранилище Erlang ...................... 179 Создание и заполнение таблицы .................................................................. 181 Простые запросы ................................................................................................ 187 Изменение значений ......................................................................................... 187 Таблицы ETS и процессы ................................................................................ 188 Следующие шаги ................................................................................................ 190 Хранение записей в Mnesia ................................................................................. 191 Настройка базы данных Mnesia .................................................................... 191 Создание таблиц................................................................................................. 192 Чтение данных .................................................................................................... 196 Глава 13. Основы OTP .............................................................................. 198 Создание служб с помощью GenServer ........................................................... 199 Простой супервизор ............................................................................................... 204 Упаковка приложения с помощью Mix ........................................................... 209 Глава 14. Расширение языка Eli xir с помощью макросов ............................................................................... 213 Функции и макросы ............................................................................................... 213 Простой макрос ....................................................................................................... 214 Создание новой логики ......................................................................................... 216 Программное создание функций ....................................................................... 217 Когда (не) следует использовать макросы ..................................................... 219
Стр.9
Содержание  9 Глава 15. Phoenix ......................................................................................... 221 Установка базовых компонентов фреймворка .............................................. 221 Структура простого Phoenix-приложения ..................................................... 224 Представление страницы ..................................................................................... 224 Маршрутизация ................................................................................................. 225 Простой контроллер ......................................................................................... 227 Простое представление .................................................................................... 228 Вычисления ............................................................................................................... 230 Продвижение Eli xir ................................................................................................ 237 Приложение А. Каталог элементов языка Eli xir ............. 239 Команды интерактивной оболочки .................................................................. 239 Зарезервированные слова .................................................................................... 240 Операторы ................................................................................................................. 241 Ограничители ........................................................................................................... 243 Часто используемые функции ............................................................................ 244 Приложение В. Создание документации с помощью ExDoc ........................................................................................ 247 Использование ExDoc вместе с Mix ................................................................. 247 Предметный указатель .......................................................................... 251 Об авторах .......................................................................................................... 259 Колофон ................................................................................................................ 260
Стр.10

Облако ключевых слов *


* - вычисляется автоматически
Антиплагиат система на базе ИИ