学习Erlang编程语言

erlang编译流程:erl文件编译 -> core文件 -> s文件 -> beam文件。

help().  查看帮助信息

pwd().  查看当前目录

cd("").  定位到目标文件

c("文件名").   编译文件,通过文件名:函数名调用(提前是要export对应的函数名)

注释

  • %百分比符号标明注释的开始。
  • %%两个符号通常用于注释函数。
  • %%%三个符号通常用于注释模块。
     

变量

所有的变量都必须以大写字母开头,变量只可一次赋值,赋值之后不可再变。f()函数释放shell绑定变量。

三种标点符号

  • 整个函数的定义结束时用一个句号".”
  • 函数参数,数据构建,顺序语句之间,r用逗号"","分隔
  • 函数定义、case 、 if、try..catch 、receive表达式中的模式匹配时,用分号"∵"分界

例如:

恒等

恒等测试符号=:=以及不等测试符号=/=

块表达式

当程序中某处的语法要求只能使用单个表达式但是逻辑上又需要在此使用多个表达式时,就可以使用begin...end块表达式

递归函数例子

erlang数据类型

数值类型整数

  • 数值类型整数
  • 正数101负数-101
  • 十六进制数字16#9A二进制2#1010
  • ASCll码查询$9(查询数字9的ASCII码)浮点数
  • 正数3.14负数-0.123
  • 科学记数法6.23e个-11

浮点数

  • 正数3.14
  • 负数-0.123
  • 科学记数法6.23e个-11

原子类型

  • 原子类型就是一个字面量,一个有名字的常量,如: hello.phone_number。
  • 原子类型的值如果不以小写字母开头或者该值中间包含除字母数字、下划线、@,之外的其它字符,那么就必须用单引号括起来,如: 'Mobile_phone','empty box'。
  • 原子类型的值与变量不同,变量拥有值,而原子类型没有。
     

元组

元组是一个复合类型,可以包含多个不同类型的元素,元组中也可以嵌套元组,例如:

列表

列表用方括号表示,列表与元组相似,但是元组只能在比较中使用,而列表允许执行的操作更多。一个基本的列表示例如下:

字符串实际上是特殊类型的列表。Erlang不直接支持字符串的概念,但是可以使用常双5亏的值创建字符串值

字符串实际上只是由ASCII字符值组成的列表。因此,上面的字符串存储为由ASCIl字符值组成的列表

在Erlang 中构造一个列表使用 | (管道)操作符,分隔头(列表的开头)和尾,表达方式为[Head | Tai]。头是单一元素,尾是列表的其余部分,例如,可以使用“I”查看部分列表

函数

  • 函数不会显示地返回值,函数中最后一条语句的执行结果将作为函数的返回值。
  • 同一个函数中,并列的逻辑分支之间,用分号;分界,顺序语句之间,用逗号,分隔。
     

匿名函数

Erlang中fun就是匿名函数,fun的简单使用,如下例:


多个参数的fun


fun也可以有若干个不同的子句

高价函数

返回fun或者以fun作为参数的函数都称为高阶函数。以fun作为参数,例如:

返回fun函数
一般在返回的函数内部封装了一些变量和逻辑,通常情况下不写返回fun的函数。

映射

映射的语法格式如下:

说明:

  • 一个key-value称为一个关联对(association pair)
  • 关联对中的key或value称为元素(element)
  • 关联对的个数称为映射的size

Erlang内置了丰富的函数来操作map,如下例所示:

输出到终端

Case

If

内置函数

Erlang进程

相比于其它编程语言,Erlang的优势在于它的并发程序设计与分布式程序设计。并发是指一个程序中同时有多个线程在执行。
Erlang的内置函数spawn可以用来创建一个新的进程,语法格式如下:

多进程示例

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值