2018-01-22 elixir 模式匹配

1、=

= 在elixir里面是 匹配运算符,和其他的还是有点不一样
匹配判断,不管变量在那边
匹配复制: 变量要在左边
处理的叫做模式匹配 ,只有在其值与模式的结构相同的,而且模式中的项目与值中对应的都匹配时才算成功。

2、 “_” 用下划线忽略匹配值

【有点类似swift里面的元组】
(它和其他的变量一样,只不过立马丢掉)


2018-01-22 elixir 模式匹配_第1张图片
下划线忽略

3、每次匹配变量仅绑定一次

匹配过程中,变量一旦被绑定为某个值, 那么改制在匹配的其余部分的时候将会保持不变;


2018-01-22 elixir 模式匹配_第2张图片
图片

也就是在这个匹配的过程中,前面的就已经匹配了,后面的内同一个式子中还匹配其他的,不允许;
若是想让变量的已有的值参与匹配,使用(^[托字符])前缀
在函数式编程中,一旦文件被创建,就不能被改变了;
不可变数据,并发编程中涉及到的内容, 不可变数据对性能的影响,垃圾回收(小而可删除)

这里收的小堆,里面的垃圾回收很快或者废弃的可以不回收,似乎也很合理;

你可能感兴趣的:(2018-01-22 elixir 模式匹配)