Logo
☆☆☆☆☆
0.0
Beginner
72h 10m

掌握Elixir编程的艺术

Elixir 是一种实用的函数式编程方法,具有不可变状态。它基于 Erlang 构建,因此可以访问所有 Erlang 的包、模块和工具。在本课程中,你将学习开始使用 Elixir 所需掌握的所有知识,包括处理集合、使用多种工具以及 OTP 服务器。程序员通过编写代码来学习,这正是本课程的教学方式。你将大量练习编程实例,帮助你牢固掌握 Elixir。

25 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
掌握Elixir编程的艺术
Elixir 是一种实用的函数式编程方法,具有不可变状态。它基于 Erlang 构建,因此可以访问所有 Erlang 的包、模块和工具。在本课程中,你将学习开始使用 Elixir 所需掌握的所有知识,包括处理集合、使用多种工具以及 OTP 服务器。程序员通过编写代码来学习,这正是本课程的教学方式。你...

WHAT YOU'LL LEARN

理解 Elixir 编程的基本概念。

Content

25 Lessons • 0 Quizzes • 0 Challenges

入门
  1. 1

    为什么你应该参加这门课程

  2. 2

    数据转换

  3. 3

    运行 Elixir

  4. 4

    自我测验:Elixir 入门

模式匹配
  1. 1

    使用匹配运算符的赋值

  2. 2

    列表

  3. 3

    自我测验:模式匹配

不可变性
  1. 1

    不可变数据

  2. 2

    不可变性的性能影响

  3. 3

    测验自己:不可变性

Elixir 基础
  1. 1

    数据类型

  2. 2

    运算符

  3. 3

    Elixir 作用域

  4. 4

    with 表达式

  5. 5

    自我测验:Elixir 基础知识

匿名函数
  1. 1

    简单函数

  2. 2

    返回一个函数

  3. 3

    将函数作为参数传递

  4. 4

    练习:连接两个字符串

  5. 5

    解决方案回顾:连接两个字符串

模块与命名函数
  1. 1

    编译模块

  2. 2

    函数调用与模式匹配

  3. 3

    守卫子句

  4. 4

    默认参数

  5. 5

    私有函数

  6. 6

    模块

  7. 7

    自我测验:模块与命名函数

列表与递归
  1. 1

    头部与尾部

  2. 2

    创建一个映射函数

  3. 3

    将列表缩减为单一值

  4. 4

    更复杂的列表模式

  5. 5

    自我测验:列表与递归

映射、关键字列表、集合和结构体
  1. 1

    如何在 Maps、Structs 和关键字列表之间进行选择

  2. 2

    关键词列表与映射

  3. 3

    模式匹配与更新映射

  4. 4

    结构体

  5. 5

    嵌套字典结构

  6. 6

    集合

  7. 7

    自我测验:映射、关键词列表、集合和结构体

处理集合:枚举与流
  1. 1

    枚举:处理集合

  2. 2

    流:惰性枚举

  3. 3

    创建我们自己的流

  4. 4

    可收集协议

  5. 5

    推导式

  6. 6

    测验自己:处理集合:枚举与流

字符串和二进制数据
  1. 1

    字符串字面量

  2. 2

    字符串和字符列表

  3. 3

    二进制数据(concept)

  4. 4

    双引号括起来的字符串是二进制数据

  5. 5

    二进制数据与模式匹配

  6. 6

    自我测验:字符串与二进制数据

控制流
  1. 1

    if 和 unless 关键字的使用

  2. 2

    使用 cond 关键字

  3. 3

    使用 case 关键字

  4. 4

    异常

  5. 5

    自我测验:控制流

项目组织
  1. 1

    从 GitHub 获取问题

  2. 2

    步骤 1:使用 Mix 创建我们的新项目

  3. 3

    编写一些基本测试

  4. 4

    重构:拆分 `parse_args` 函数

  5. 5

    转换:从 GitHub 获取

  6. 6

    步骤 2:使用库

  7. 7

    转换:转换响应

  8. 8

    转换:排序数据

  9. 9

    转换:格式化表格

  10. 10

    步骤 3:创建命令行可执行文件

  11. 11

    步骤 4:添加一些日志记录

  12. 12

    步骤5:创建项目文档

  13. 13

    自我测验:项目组织

工具
  1. 1

    使用 IEx 调试

  2. 2

    测试

  3. 3

    代码依赖

  4. 4

    服务器监控

  5. 5

    源代码格式化

  6. 6

    自我测验:工具使用

使用多个进程
  1. 1

    一个简单的进程

  2. 2

    处理开销

  3. 3

    当进程终止时

  4. 4

    并行映射:Erlang 中的“Hello, World”

  5. 5

    斐波那契服务器

  6. 6

    Elixir 的 Agent 模块

  7. 7

    自我测验:处理多个进程

节点——服务分发的关键
  1. 1

    命名节点

  2. 2

    命名我们的进程

  3. 3

    输入、输出、PID 和节点

  4. 4

    测验自己:节点——服务分发的关键

OTP:服务器
  1. 1

    一些OTP定义

  2. 2

    一个OTP服务器

  3. 3

    GenServer 回调

  4. 4

    命名进程

  5. 5

    整理接口

  6. 6

    将我们的服务器打造成一个组件

  7. 7

    自我测验:OTP 服务器

OTP:监督者
  1. 1

    监督者与工作者(orientation)

  2. 2

    工作节点重启选项

  3. 3

    主管是可靠性核心

  4. 4

    自我测验:OTP 监督者

一个更复杂的例子
  1. 1

    Duper 简介

  2. 2

    去重应用程序

  3. 3

    但它真的有效吗?

  4. 4

    自测练习:一个更复杂的例子

OTP:应用
  1. 1

    应用程序规范文件

  2. 2

    将我们的序列程序转变为一个OTP应用程序

  3. 3

    发布我们的代码

  4. 4

    自我测验:OTP 应用程序

任务与代理
  1. 1

    任务

  2. 2

    智能体

  3. 3

    一个更大的例子

  4. 4

    在代理、任务与 GenServer 之间选择

  5. 5

    自测练习:任务与代理

宏与代码求值
  1. 1

    实现一个 if 语句

  2. 2

    宏注入代码

  3. 3

    使用表示作为代码

  4. 4

    使用绑定注入值

  5. 5

    宏是卫生的

  6. 6

    运行代码片段的其他方式

  7. 7

    宏和运算符

  8. 8

    深入探究

  9. 9

    自测练习:宏与代码求值

模块链接:行为与 use 语句
  1. 1

    行为

  2. 2

    use 和 __using__

  3. 3

    测验:行为与 use 语句

协议——多态函数
  1. 1

    协议

  2. 2

    可用的类型

  3. 3

    协议和结构体

  4. 4

    内置协议

  5. 5

    可枚举

  6. 6

    Collectable 协议

  7. 7

    检查

  8. 8

    List.Chars 和 String.Chars

  9. 9

    测验自己:协议 - 多态函数

更多酷炫内容
  1. 1

    编写我们自己的符号

  2. 2

    多应用伞形项目

  3. 3

    测验自己:编写符号并创建伞形项目

附录
  1. 1

    抛出异常

  2. 2

    捕获、退出和抛出

  3. 3

    定义我们自己的异常

  4. 4

    自我测验:异常处理

  5. 5

    何时使用规范?

  6. 6

    指定类型

  7. 7

    定义新类型

  8. 8

    函数与回调的规范

  9. 9

    使用 Dialyzer

  10. 10

    自我测验:规格说明与Dialyzer

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)