erlang常见基础

每一个文件通常称为一个模块(module),需要特别注意的是在这一行末尾的”.”,这个是不可或缺的。每一个模块的名称必须和它的文件名一样
注意这里的结尾是”;”,表明这个方法还没有结束
在函数中的参数”N,X,Y”我们称之为变量。变量的首字母需要大写
常量是Erlang的另一种数据类型。 常量以小写字母开头
常量就是一个简单的名字 ,不像变量一样拥有值。
在Erlang里我们可以把一些事件/事物集中在一起以便更好地理解,我们称之为元组,元组会被”{“和”}”这样一对括号包含。
或定义为:将一定数量项组成在一起,就形成了一个单一的实体,并且若干个项之间使用逗号隔开,形成的整个实体使用{}括起来,这样就形成了一个元组。
一旦元组创建之后, 元组项的个数就不能再变化了 。其实元组就是原子。
可以将一个函数的返回值作为另一个函数的参数传入.
元组有固定的内部的组成数量。我们称在元组中的东西为元素
我们称被”[","]“所包围的一组事物为列表.。或定义为: 将不定数量的项组在一起,再加上[]括号,就形成了列表。列表的每一项可以是元组,也可以仍是列表,即列表是可以允许嵌套使用的。
用“|”是一个非常的用于查看列表中的部分元素。
使用”|”来把第一个元素和剩下的元素分离开来

列表和元素的区别
1.列表中的元素个数是可变的,而元组的数目是在创建后就固定的。
 创建一个列表之后,我们仍然可以往其中增加项,当然可以删除项,因此列表使用的话比较灵活一些,而元组则不可以。

2.创建的方式不同
在声明元组的时候,就自动创建了一个元组。而对于列表来说,创建一个列表有两种方式,一种是直接定义,例如:F=[abc];另外一种是在已经创建的基础上再次添加一个项,那新构成的这个仍然是列表。
3.取值方式不同
从元组中提取字段值的时候,我们一般使用的是“=”来提取,而对于列表来说,使用的仍然还是模式匹配,只不过对于列表来说的话,我们每一次只能提取这个列表的头部,也就说一次只能提取一个项。

4.在函数使用上的区别
这里我们还有一个需要注意的地方,在我们写erlang程序的时候,通常的返回值如果是元组的话,我们使用一个变量进行匹配是可以的

列表中的元素可以是元组,而元组中的元素则不可以为列表.
 
算术表达式由以下运算符构成:

单目运算符有一个参数,双目运算符有两个参数。混合意味着参数即可以是integer 也可以是float。单目运算符的返回值与其参数类型相同。
双目混合运算符(即*、-、+)在参数都是integer时返回类型为integer的对象,在参数至少包含一个float时返回一个float。浮点除法运算符/总是返回一个float。
双目整数运算符(即band、div、rem、bor、bxor、bsl、bsr)的参数必须是整数,其返回值也是整数。
求值顺序取决于运算符的优先级:首先计算第1优先级的运算符,然后是第2优先级,以此类推。括号内的表达式优先求值。
优先级相同的运算符从左到右进行求值。比如:
A - B - C - D
其求值顺序与下面的表达式一致:
(((A - B) - C) - D)

方法 format/2 (此方法拥有两个参数)需要两个列表。第一个列表通常写在“”之间,这个列表会作为输出的标准,其中的~w会被第二个列表中的元素所取代。每一个 ~n 表示另起一行(换行)。如何一切运行正常 io:format/2 本身会返回一个”ok”。就像Eralng其他方法一样,io:format/2当遇到错误时也会终止运行。
但是需要注意的是即使 io:format崩溃了,但是 Erlang shell 自身不会崩溃。

~-15w意思为该元素的限定在15个字符的长度

注意,在end前面的最后一个条件是没有“;”的!这里的判定条件和界定(Guard)是一样的,测试条件的真或假。Erlang从最高处开始执行,直到它找到一个为真的条件,并执行其内部的代码,并且很重要的是它将忽略其他剩下的条件,不论其他剩下的条件中是否还有为真的情况。一个条件当是常量的时候意味着永远为真,true和常量(atoms)常常用来作为if的最后一个条件。作为当其他所有条件都为假时的执行出口。

内置函数Bifs是一些处于某些理由构建在Erlang虚拟机内部的函数。BIFs常常实现功能性的操作,而这些操作可能是很难在Erlang中直接实现的,或者说是实现起来没有效率的。

Erlang具有处理并发和分布式计算的编程能力
函数spawn返回一个进程标识符(也就是耳熟能详的PID),用来唯一表示一个进程的。
“~p”大体上和“~w”输出是一致的,但是会将过长的可打印的词组切分为多行,并且明显的缩进每行。这也是将可打印字符作为字符串输出的常见方法。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值