elixir 模式匹配
elixir 模式匹配刚接触还是有点不习惯,在Elixir
里,=
操作符被称为匹配操作符
iex(29)> x = 1
1
iex(30)> x
1
iex(31)> 1 = x
1
iex(32)> 2 = x
** (MatchError) no match of right hand side value: 1
1=x 合法 左右都等于1
2=x 两侧不相等时,会导致一个MatchError
错误
匹配列表
iex(2)> a = [1]
[1]
iex(3)> [h|t] = a
[1]
iex(4)> h
1
iex(5)> t
[]
用[h|t] = a ---》[h|t]=[1]--》h 匹配到1 t为空
如果 [h|t] = []
** (MatchError) no match of right hand side value: []
匹配元组
iex(35)> {a, b, c} = {:hello, "word", 33}
{:hello, "word", 33}
iex(36)> a
:hello
iex(37)> b
"word"
iex(38)> c
33
两边不匹配
iex(39)> {a, b, c} = {:hello, "word"}
** (MatchError) no match of right hand side value: {:hello, "word"}
右侧第一个不是 :ok 也不匹配
iex(40)> {:ok, result} = {:ok, 13}
{:ok, 13}
iex(41)> result
13
iex(42)> {:ok, result} = {:error, :oops}
** (MatchError) no match of right hand side value: {:error, :oops}
最新文章
- Javascript中,document.getElementsByName获取的就一定是数组了么?
- FZU 2105Digits Count(线段树 + 成段更新)
- 导入数据经常使用的SQL语句整理整理
- Python~recursive function递归函数
- createStatement()的用法
- 将Cocos2dX渲染到MFC窗口上
- 华东交通大学2016年ACM“双基”程序设计竞赛 1005
- java并发编程(一)
- 使用Hexo搭建github博客步骤,超简便
- POJ1416 Shredding Company(dfs)
- Big Data Analytics for Security(Big Data Analytics for Security Intelligence)
- redis 源代码分析(一) 内存管理
- IIC协议总结
- 微信小程序demo豆瓣图书
- Bzoj超级经验大放送题集(好评如潮哦~~~)
- Boost LRU-Cache使用方法简介
- 移动端rem与px适应js
- HDU6011
- 转: chrome64打开弹出窗flash的办法
- 数学 它的内容,方法和意义 第三卷 (A. D. 亚历山大洛夫 著)