Erlang学习记录:语法和特性
特性
大下排序:number < atom < reference < fun < port < pid < tuple < list < bit string
也就是说a永远大于任何数值;{}永远大于a;[]永远大于{};<<>>永远大于其他类型的变量
Erlang中一切都是表达式而表达式都是有值的,即使是try...end
以函数作为参数调用时可以使用匿名函数fun()...end,也可以使用成员函数fun demo/1
atom和ets不会参与GC,所以要有计划分配的创建,ets表只有在调用delete或者创建进程终止时才会销毁
Erlang GC基于进程
语法约定
特殊符号
顺序执行语句使用逗号","分割
分支语句使用分号";"分割
函数/语句结束使用句点"."分割
注释以百分号"%"开头到该行结尾结束
Erlang中等号"="起的不是简单的赋值的作用,是用来做模式匹配,如果等号左边的变量未赋值的情况下不管等号右边的结果是什么都会合等号左边的变量绑定,这时候才起到赋值的作用
下划线"_"作为通配符
下划线"_"开头的变量即时不使用也不会编译警告
双冒号"::"指定参数或类型取值范围/限定类型
美元符号"$"表示整型变量值(ASCII)或者在erlang:words/2使用时作为分隔符标识
%%todo 待续
Erlang学习记录:语法和特性的更多相关文章
- Elasticsearch学习记录(分布式的特性)
Elasticsearch学习记录(分布式的特性) 分布式的特性 我们提到Elasticsearch可以扩展到上百(甚至上千)的服务器来处理PB级的数据.然而我们的例子只给出了一些使用Elastics ...
- Erlang学习记录:输入和输出
输入和输出 输入和输出功能都被定义在io模块 输出功能非常常用,由于erlang项目没有可断点调试的IDE(或者说根本不需要),所以所有的调试操作都是由io输出 来调试的 io:get_line/1. ...
- vue3学习记录(新特性)
总概 1) 性能提升 打包大小减少 41% 初次渲染快 55%,更新渲染快 133% 内存减少 54% 使用 Proxy 代替 defineProperty 实现数据响应式 重写虚拟 DOM 的实现和 ...
- Erlang学习记录(三)——表达式大集合
Erlang中的表达式必须以.结束才会去执行.如果不加.你在编译环境下按多少次Enter,表达式都不会执行,表达式之间可以用,分隔,以.结尾后所有的表达式都会执行,但是只有最后一个以.结尾的表达式会在 ...
- Erlang学习记录(二)——基本数据类型
Erlang可以说和我以前接触过的语言都大不相同,这个从它的类型定义就可以看出来...反正学起来觉得既不熟悉,也不亲切,我估计在用Erlang写应用的时候,整个编程思路都要变一下了.不过存在即是合理的 ...
- Erlang学习记录(一)——Windows下的环境搭建
一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二.运行编译器 安装完编译器后,打开安装目录下 ...
- Erlang学习记录:相关工具和文档
在线工具和文档 网址 说明 OTP Reference Page Index 内置模块查询 Erlang/OTP Applications N Kernel Reference Manual 入门官方 ...
- Python学习记录----语法学习
一控制语句 http://blog.csdn.net/lynn_yan/article/details/5464911 if 语句 二 字典详解 http://blog.csdn.net/moodyt ...
- Erlang学习记录:app demo
目录结构 │ Emakefile │ make.bat │ start.bat ├─config │ config.config │ server.app ├─ebin │ wulin_app.bea ...
随机推荐
- leetcode.哈希表.128最长连续序列-Java
1. 具体题目 给定一个未排序的整数数组,找出最长连续序列的长度.要求算法的时间复杂度为 O(n). 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 ...
- 在vue中运用mt-loadmore 实现上拉加载,下拉刷新
元旦了,给手残党直接复制的机会,代码如下: 1. :style="{'-webkit-overflow-scrolling': scrollMode}" 最外层div设置,以便兼容 ...
- linux每日命令(3):which命令
这个命令我也神佑体会它的用处,在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. locate ...
- Android SDK中无法安装HAXM installer
一.原因: 刚搭建好环境,当我想打开Android Studio 自带的模拟器时,出现如下: /dev/kvm is not found 二.解决步骤: 1.点击File -- Setti ...
- Oracle之视图联合查询加排序问题
在公司修改bug,有这样的需求:需要从两张视图中查出相同字段的数据,按照导师姓名先排序,再按照学号排序 union联合两张表,SELECT * from((SELECT DS_ID,PYLX_ID,Y ...
- ubuntu查看时间同步服务器的匹配源
当服务器时间与设定好的同步时间源的时间有差异的时候,一般都需要先查看本机的时间同步服务功能是否在正常的运转,以及同步的时间源是哪里,在这里为大家提供一个检查时间用的命令. ubuntu版本 servi ...
- 多线程中的detach
从 thread 对象分离执行的线程,允许执行独立地持续.一旦线程退出,则释放所有分配的资源.(就是两个线程彼此相互独立) 调用 detach 后, *this 不再占有任何线程. #include ...
- BCZM : 1.15
数独 解法一:广度优先搜索. 解法二:先填满中间矩阵,其他区域通过矩阵置换求出.
- -bash: docker-compose: command not found、linux 安装 docker-compose
方式1:https://blog.csdn.net/qq_32447321/article/details/76512137 方式2: curl -L https://get.daocloud.io/ ...
- leetcood学习笔记-965-单值二叉树
题目描述; 第一次提交; class Solution: def isUnivalTree(self, root: TreeNode) -> bool: if root == None: ret ...