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
列表比较按字典顺序比较,及从第一个元素开始先比较
元组比较会首先比较元素数量,不同元素数量的情况下,元素数量多的元组大于元素少的元组;两个元组长度相同的情况下同样按字典顺序比较
Erlang学习记录:运算符的更多相关文章
- Erlang学习记录(三)——表达式大集合
Erlang中的表达式必须以.结束才会去执行.如果不加.你在编译环境下按多少次Enter,表达式都不会执行,表达式之间可以用,分隔,以.结尾后所有的表达式都会执行,但是只有最后一个以.结尾的表达式会在 ...
- Erlang学习记录(二)——基本数据类型
Erlang可以说和我以前接触过的语言都大不相同,这个从它的类型定义就可以看出来...反正学起来觉得既不熟悉,也不亲切,我估计在用Erlang写应用的时候,整个编程思路都要变一下了.不过存在即是合理的 ...
- Erlang学习记录(一)——Windows下的环境搭建
一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二.运行编译器 安装完编译器后,打开安装目录下 ...
- Erlang学习记录:输入和输出
输入和输出 输入和输出功能都被定义在io模块 输出功能非常常用,由于erlang项目没有可断点调试的IDE(或者说根本不需要),所以所有的调试操作都是由io输出 来调试的 io:get_line/1. ...
- Erlang学习记录:语法和特性
特性 大下排序:number < atom < reference < fun < port < pid < tuple < list < bit st ...
- Erlang学习记录:相关工具和文档
在线工具和文档 网址 说明 OTP Reference Page Index 内置模块查询 Erlang/OTP Applications N Kernel Reference Manual 入门官方 ...
- Erlang学习记录:app demo
目录结构 │ Emakefile │ make.bat │ start.bat ├─config │ config.config │ server.app ├─ebin │ wulin_app.bea ...
- Erlang学习记录:转义
转义 转义序列 含义 整数编码 \b 退格符 8 \d 删除符 127 \e 换码符 27 \f 换页符 12 \n 换行符 10 \r 回车符 13 \s 空格符 32 \t 制表符 9 \v 垂直 ...
- Spring学习记录(七)---表达式语言-SpEL
SpEL---Spring Expression Language:是一个支持运行时查询和操作对象图表达式语言.使用#{...}作为定界符,为bean属性动态赋值提供了便利. ①对于普通的赋值,用Sp ...
随机推荐
- script标签的defer、async属性
之前一直对script标签的defer.async属性一知半解,直到看到了论坛上某大神发的图片,茅塞顿开!!!!!
- 关于scroll实现侧边导航栏
需求为一个简单的scroll效果,侧边选项卡跟随屏幕向下拖动变颜色的.点击侧边选项卡,跳转到相应模块. 索性上网找了一下类似的效果.附带源码地址 https://blog.csdn.net/drea ...
- eduCF#60 D. Magic Gems /// 矩阵快速幂
题目大意: 给定n m (1≤N≤1e18, 2≤M≤100) 一个魔法水晶可以分裂成连续的m个普通水晶 求用水晶放慢n个位置的方案modulo 1000000007 (1e9+7) input 4 ...
- (数据科学学习手札57)用ggplotly()美化ggplot2图像
一.简介 经常利用Python进行数据可视化的朋友一定用过或听说过plotly这样的神器,我在(数据科学学习手札43)Plotly基础内容介绍中也曾做过非常详细的介绍,其渲染出的图像以浏览器为载体,非 ...
- 2018年初面试Java(1.5年经验)
xml文档如何解析 控制反转如何实现 http://www.cnblogs.com/qf123/p/8602972.html struts2和springmvc的区别 http://www.cnblo ...
- 目录文件的操作函数 mkdir ,opendir,readdir,closedir
1. int mkdir(const char *pathname, mode_t mode); 头文件 :<sys/stat.h> <sys/types.h> 功能: ...
- md详解和rd详解:一次性创建多个目录和多级子目录
md 命令: 官方解释: E:\ABC>md /? 创建目录. MKDIR [drive:]path MD [drive:]path 如果命令扩展被启用,MKDIR 会如下改变: 如果需要,MK ...
- python pathlib模块详解
python pathlib模块详解
- python 进程与线程 精要
程序与进程 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程. 程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本:进程是程序的一次 ...
- 10.Struts2值栈
1.什么是值栈 * 值栈就相当于Struts2框架的数据的中转站,向值栈存入一些数据.从值栈中获取到数据. * ValueStack 是 struts2 提供一个接口,实现类 OgnlValueSta ...