erlang运算符

算术运算符

OPDescriptionArgument type
+一元 +number
-一元 -number
+加法number
-减法number
*乘法number
/浮点除法number
div整数除法integer
bnot一元 not 位运算integer
rem整数求余integer
band与运算integer
bor或运算integer
bxor异或运算integer
bsl左移运算integer
bsr右移运算integer
6> +1.
1
7> -1.
-1
8> 1+1.
2
9> 4/2.
2.0
10> 5 div 2.
2
11> 5 rem 2.
1
12> 2#10 band 2#01.
0
13> 2#10 bor 2#01.
3
14> 8 bsr 1.
4
15> 8 bsl 1.
16

Erlang的比较运算符(关系运算符)

OPDescription
==等于
/=不等于
=<小于等于
<小于
>=大于等于
>大于
=:=精确的等于
=/=精确的不等于

等于和精确等于的区别:

如果要比较两个数,如果两个数之间是不同的类型,比如float和int那么,==操作会首先把两个数字转换成相同的相同类型。举例:

1> 1==1.0.
true
2> 1=:=1.0.
false

所以一般推荐用精确等于去比较

比较运算符的大小级别:

number < atom < reference < fun < port < pid < tuple < list < bit string

3> 1 > a.

false

逻辑运算符

OPDescription
not一元逻辑非
and逻辑与
andalso短路与
or逻辑或
orelse短路或
xor逻辑异或

原子true 和false表示逻辑的”真”和”假”;此外,逻辑运算符还包括一个orelse 和andalso,原始的or和and是不带”短路运算”操作的,而orelse和andalso是带短路运算操作的。

短路运算举例

Express1 and Express2
Express1 andalso Express2

如果Express1 为假,and会继续判断Express2,然后整体判定为假,而andalso”短路”操作,直接判定整个表达式为假,从效率上来说,andalso会高一些

数组运算

最后还有个数组运算,++或者–-,很简单

1> [1,2] ++ [3,4].
[1,2,3,4]
2> [1,2] -- [3,4].
[1,2]
3> [1,2] -- [1,4].
[2]
4> [1,2] ++ [1,4].
[1,2,1,4]
5> [1,2] -- [1,2].
[]

转载于:https://my.oschina.net/leeyisoft/blog/786361

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值