博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Erlang的特点——小结
阅读量:4206 次
发布时间:2019-05-26

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

概要:Erlang的特点,现在发现Erlang几乎都是与从不同。。。

变量不可变:

    保证原子性,为并行化做准备。

元组:

   类似c语言中的结构。

Person = {person,		      {name,joe},		      {height,1.82}.		  }.

列表:

[H|T],这个列表以H为头,以T为尾。竖线符号(|)可以将列表的头和尾分隔开来,而[]则是空列表。   

ThingsToBuy = [{apples,10},{pears,6},{milk,3}].

模式匹配:

     =表示一个模式匹配操作。Lhs=Rhs实际上是这样一个过程,对右端求值(Rhs),然后将结果与左端(Lhs)进行模式匹配。

    38p。

递归:

    一般写法:

total([Head|Tail]) ->	some_function_of(Head) + total(Tail);total([]) ->    0.
   例子:

-module(mylists).-export([sum/1]).sum([H|T]) -> H + sum(T);sum([])    -> 0.
   过程:

    sum([ 1, 3 ,10])  = 1 + sum( 3, 10)

                                = 1 + 3 + sum([10])

                                = 1 + 3 + 10 + sum([])

                                = 1 + 3 + 10 + 0

                                = 14

 列表解析:

 
(Erlang-my@thomescai-G41MT-S2)4> L = [1,2,3,4].[1,2,3,4](Erlang-my@thomescai-G41MT-S2)5> [2*X || X <- L].[2,4,6,8]
 [F(X) || X <- L] 代表”由F(X)组成的列表,其中X是取值于列表L“。因此,[2*X || X <- L] 意味着”列表L中每个元素X乘以2后的列表“。

算术表达式:

p57。

断言样例:

  断言序列可以是单个断言也可以是一系列用分号(;)分开的断言集合。在断言集合G1;G2;。。。;Gn中,只要任何一个断言为true,那么整个断言序列就为true。

f(X,Y)when is_integer(X), X > Y, Y < 6 -> ...

记录:

    记录就是元组。

Eshell V5.8.3  (abort with ^G)1> rr("records.hrl").[todo]2> X=#todo{}.#todo{status = reminder,who = joe,text = undefined}3> X1 = # todo{status=urgent,text="Fix errata in book"}.#todo{status = urgent,who = joe,text = "Fix errata in book"}4> X2 = X1#todo{status=done}.#todo{status = done,who = joe,text = "Fix errata in book"}

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

你可能感兴趣的文章
yii2 - 增加actions
查看>>
网站加载代码
查看>>
php图像处理函数大全(缩放、剪裁、缩放、翻转、旋转、透明、锐化的实例总结)
查看>>
magento url中 uenc 一坨编码 base64
查看>>
强大的jQuery焦点图无缝滚动走马灯特效插件cxScroll
查看>>
Yii2.0 数据库查询
查看>>
yii2 db 操作
查看>>
mongodb group 有条件的过滤组合个数。
查看>>
yii2 用命令行操作web下的controller
查看>>
关于mongodb的 数组分组 array group
查看>>
MongoDB新的数据统计框架介绍
查看>>
mongodb fulltextsearch 关于语言的设置选项
查看>>
mongodb 增加全文检索索引
查看>>
symfony
查看>>
yourls 短连接 安装
查看>>
yii2 php namespace 引入第三方非namespace库文件时候,报错:Class not found 的解决
查看>>
softlayer 端口开放
查看>>
操作1:mongodb安装
查看>>
操作2:mongodb使用语法
查看>>
如何给分类增加一个属性(后台)
查看>>