Elixir 初尝试 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]的值也不会变。
相关推荐
M守护神 2019-12-10
woxmh 2019-12-03
ElixirDeBombe 2019-12-01
Elixir 2019-11-17
garfieldcatcat 2019-11-04
MJlife 2019-06-26
jifangege 2019-09-07
dazhi00 2019-06-26
坚强00CSDN 2019-06-26
Colourful 2019-06-21
nxin的小抄本 2019-06-21
LustrousElixir 2019-06-21
坚强00CSDN 2019-06-21
ElixirDeBombe 2019-06-21
ElixirDeBombe 2019-06-21
Elixir 2019-06-21
Elixir 2019-06-21
helloxiaoliang 2019-06-21