Erlang学习记录:运算符

数学运算符

说明 详细 符号
加减乘 +-*
浮点数除 结果为浮点数 /
整数除 除数和被除数都必须是整数,结果为整数 div
整数取余 rem

逻辑运算符

说明 符号 详细
and 前后两个值都为真,则返回真
andalso 前后一个为假,则为假,如果第一个参数为假,则不会运算第二个参数(短路),类似于&&
or 前后任一个参数为真,则返回真
orelse 前后任一个参数为真,则返回真,如果第一个参输是真,则不会运算第二个参数(短路),类似于||
异或 xor 两个参数一个真,一个假,则返回真
一元否定 not 取反, 可写作 not is_list([]) 或者 not(is_list([]))

项元比较运算符

说明 符号 详细
等于,只比较两边的值二忽略两边的具体类型 == 如1==1.0的结果为true
不等于,只比较两边的值二忽略两边的具体类型 /=
精确等于,比较值得同时比较数据类型 =:=
精确不等于 =/=
大于等于 >=
小于等于 =<
大于 >
小于 <

如果比较的是不同类型的数据,则参考以下顺序:

number < atom < reference < func < port < pid < tuple < list < binary

及[] > {}的结果为true

列表比较按字典顺序比较,及从第一个元素开始先比较

元组比较会首先比较元素数量,不同元素数量的情况下,元素数量多的元组大于元素少的元组;两个元组长度相同的情况下同样按字典顺序比较

posted @ 2017-10-30 14:25  HugoRun  阅读(722)  评论(0编辑  收藏  举报