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 ...
随机推荐
- 高级UI晋升之触摸事件分发机制(一)
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680 0. 前言 鉴于安卓分发机制较为复杂,故分为多个层次进行讲解,分别为基础篇.实践 ...
- python初学者学习工具安装教程&安装步骤详解
一.python安装: 版本:3.6.8 下载地址:https://www.python.org/downloads/ 安装步骤截图: 1.点击python安装包,出现下图所示界面,注意勾选A ...
- eduCF#61 C. Painting the Fence /// DP 选取k段能覆盖的格数
题目大意: 给定n m 接下来给定m个在n范围内的段的左右端 l r 求选取m-2段 最多能覆盖多少格 #include <bits/stdc++.h> using namespace s ...
- (数据科学学习手札58)在R中处理有缺失值数据的高级方法
一.简介 在实际工作中,遇到数据中带有缺失值是非常常见的现象,简单粗暴的做法如直接删除包含缺失值的记录.删除缺失值比例过大的变量.用0填充缺失值等,但这些做法会很大程度上影响原始数据的分布或者浪费来之 ...
- unix, PF_UNIX, AF_UNIX, PF_LOCAL, AF_LOCAL - 用于本地内部进程通讯的套接字。
SYNOPSIS(总览) #include <sys/socket.h> #include <sys/un.h> unix_socket = socket(PF_UNIX, t ...
- BCZM: Chapter 2
2.1 二进制数中 1 的个数 实现一个函数,输入一个无符号整数,输出该数二进制中的1的个数.例如把9表示成二进制是1001,有2位是1,因此如果输入9,该函数输出2 分析与解法 解法1:利用十进制和 ...
- leetcood学习笔记-257-二叉树的所有路径
题目描述: 第一次提交:参考113-路径总和② class Solution: def binaryTreePaths(self, root: TreeNode) -> List[str]: r ...
- java 删除文件
-------------------------------------对于有多层内容的文件夹来说,要彻底删除的话,就需要编写代码进行迭代操作---------------------------- ...
- sublime的安装与使用
1.sublime简介 Sublime是一个代码编辑器,可以编写HTML,php,js,css等文件. Sublime是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具 ...
- Java中的线程Thread方法之---stop()
搞过Java线程的人都知道,stop这个方法是臭名昭著了,早就被弃用了,但是现在任然有很多钟情与他的人,永远都放不下他,因为从他的字面意思上我们可以知道他貌似可以停止一个线程,这个需求是每个搞线程开发 ...