Elixir 模式匹配全解析
1. 变量内容匹配
有时候,我们需要根据变量的内容进行匹配,这时可以使用 ^ 操作符。例如:
iex(7)> expected_name = "Bob"
"Bob"
iex(8)> {^expected_name, _} = {"Bob", 25}
{"Bob", 25}
iex(9)> {^expected_name, _} = {"Alice", 30}
** (MatchError) no match of right hand side value: {"Alice", 30}
在模式中使用 ^expected_name 表示期望 expected_name 变量的值出现在右侧项的相应位置。第一个匹配成功,第二个失败。需要注意的是, ^ 操作符不会绑定变量,它只是尝试与变量已绑定的值进行匹配。
2. 列表匹配
列表匹配与元组匹配类似。以下是分解一个三元素列表的示例:
iex(1)> [first, second, third] = [1, 2, 3]
[1, 2, 3]
之前提到的模式技术同样适用:
[1, second, third] = [1, 2, 3] # 第一
超级会员免费看
订阅专栏 解锁全文
29

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



