Elixir 中的模式匹配与函数匹配
1. 模式匹配基础
模式匹配是 Elixir 中一个强大的特性,它允许我们根据特定的模式来匹配和绑定值。下面我们将详细介绍各种模式匹配的情况。
1.1 常量匹配
在 Elixir 中,许多函数会返回 {:ok, result} 或 {:error, reason} 这样的元组。例如,使用 File.read/1 函数读取文件内容时:
{:ok, contents} = File.read("my_app.config")
这行代码做了三件事:
1. 尝试打开并读取 my_app.config 文件。
2. 如果成功,将文件内容提取到变量 contents 中。
3. 如果失败,会引发错误,因为 File.read 的结果是 {:error, reason} 形式的元组,与 {:ok, contents} 匹配失败。
通过在模式中使用常量,可以确保右侧的某些部分具有特定的值。
1.2 变量匹配
当左侧模式中存在变量名时,它总是与右侧对应的项匹配,并且变量会绑定到匹配的项。例如:
iex(4)> name
"B
超级会员免费看
订阅专栏 解锁全文
21

被折叠的 条评论
为什么被折叠?



