mirror of
https://github.com/valitydev/erlang-school.git
synced 2024-11-06 01:05:17 +00:00
48 lines
2.8 KiB
Markdown
48 lines
2.8 KiB
Markdown
# erlang-school
|
||
|
||
## Лекция 1
|
||
|
||
### Секвентальный эрланг часть 1
|
||
|
||
1. shell + hello world
|
||
2. типы данных
|
||
1. int, float, list, tuple, binary, atom, строгая типизация
|
||
3. "переменные" и паттерн матчинг
|
||
4. модули, функции, компиляция (модуль — единица деления, экспорты, загрузка/выгрузка, атрибуты, module_info, циклические зависимости)
|
||
5. функции, клозы, гарды
|
||
6. case/if
|
||
7. анонимные функции
|
||
8. программирование без циклов: рекурсия, хвостовая рекурсия, fold, map, пример: числа фибоначчи
|
||
|
||
### Задачи
|
||
|
||
1. safe_handle макрос который ловит исключения от функтора и возвращает {error, {Class, Reason, Stacktrace}}
|
||
2. verbose_handle макрос который ловит исключения от функтора, пишет в консоль и прокидывает дальше
|
||
3. maps:fold
|
||
4. определить макрос для LOG, который будет при задефайненом debug выводить в лог строку вида {модуль,строка}: форматированное сообщение
|
||
5. транспонировать матрицу записанную в csv файле
|
||
6. одномерный эксель с обратной польской нотацией
|
||
|
||
|
||
## Лекция 2
|
||
|
||
### Секвентальный эрланг часть 2
|
||
|
||
1. оптимизация хвостовой рекурсии
|
||
2. лист генераторы
|
||
3. битсинтаксис (кратко)
|
||
4. рекорды
|
||
5. мапы
|
||
6. исключения (exit/throw/error, catch, try...catch)
|
||
7. препроцессинг (include/include_lib/define/MODULE.../ifdef...)
|
||
|
||
### Задачи
|
||
|
||
0. lists:seq/filter/zip
|
||
1. safe_handle макрос который ловит исключения от функтора и возвращает {error, {Class, Reason, Stacktrace}}
|
||
2. verbose_handle макрос который ловит исключения от функтора, пишет в консоль и прокидывает дальше
|
||
3. maps:fold
|
||
4. определить макрос для LOG, который будет при задефайненом debug выводить в лог строку вида {модуль,строка}: форматированное сообщение
|
||
5. транспонировать матрицу записанную в csv файле
|
||
6. одномерный эксель с обратной польской нотацией (без унарного минуса, деление целочисленное, без детектора циклов)
|