mirror of
https://github.com/valitydev/erlang-school.git
synced 2024-11-06 01:05:17 +00:00
add two first lectures
This commit is contained in:
parent
1b2f69b684
commit
419f53994e
48
README.md
48
README.md
@ -1 +1,47 @@
|
||||
# erlang-school
|
||||
# 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. одномерный эксель с обратной польской нотацией (без унарного минуса, деление целочисленное, без детектора циклов)
|
||||
|
Loading…
Reference in New Issue
Block a user