数学运算符
| 说明 | 详细 | 符号 |
|---|---|---|
| 加减乘 | +-* | |
| 浮点数除 | 结果为浮点数 | / |
| 整数除 | 除数和被除数都必须是整数,结果为整数 | 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
列表比较按字典顺序比较,及从第一个元素开始先比较
元组比较会首先比较元素数量,不同元素数量的情况下,元素数量多的元组大于元素少的元组;两个元组长度相同的情况下同样按字典顺序比较