博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elixir 初尝试 1 -- 这里的等号不一样 & 不变的数据
阅读量:5825 次
发布时间:2019-06-18

本文共 539 字,大约阅读时间需要 1 分钟。

Elixir是个什么鬼

自行百度维基google

Elixir 这里的等号不一样

当等号‘=’不是赋值,而是匹配(match opertator),变得更像断言,更像我们初中开始学代数的时候。

P.S.
^(脱字符),强制让变量的已有值参与匹配

Elixir 函数式编程--不可变的数据 才是好用的数据

编程就是进行数据转换,而不是数据修改。所以我们期待

some_value=[some_object];print(some_value);do_something_with(some_value);print(some_value);

前后两次打印的变量并没有变,应该说此时变量都不能称之为变量,叫它为值更合适些。

而函数则是对值进行变换的引擎,一切魔法所在。

按常规想法,因为elixir的值都是不可变的,所以在进行转换的时候,需要一个副本,涉及到copy,性能很渣吧,NO

原因是既然值都是不变的,直接拿来用就好了。
比如

iex(9)> list1=[2,3,4,1][2, 3, 4, 1]iex(10)> list2 =[6|list1][6, 2, 3, 4, 1]

list2 就是直接使用list1作为尾项,用6作为首项生成的[2,3,4,1]的值也不会变。

转载地址:http://kqsdx.baihongyu.com/

你可能感兴趣的文章
曾鸣:区块链的春天还没有到来| 阿里内部干货
查看>>
如何通过Dataworks禁止MaxCompute 子账号跨Project访问
查看>>
js之无缝滚动
查看>>
Django 多表联合查询
查看>>
logging模块学习:basicConfig配置文件
查看>>
Golang 使用 Beego 与 Mgo 开发的示例程序
查看>>
+++++++子域授权与编译安装(一)
查看>>
asp.net怎样在URL中使用中文、空格、特殊字符
查看>>
路由器发布服务器
查看>>
实现跨交换机VLAN间的通信
查看>>
jquery中的data-icon和data-role
查看>>
python例子
查看>>
环境变量(总结)
查看>>
ios之UILabel
查看>>
Java基础之String,StringBuilder,StringBuffer
查看>>
1月9日学习内容整理:爬虫基本原理
查看>>
安卓中数据库的搭建与使用
查看>>
AT3908 Two Integers
查看>>
渐变色文字
查看>>
C++ 0X 新特性实例(比较常用的) (转)
查看>>