特性

大下排序: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学习记录:语法和特性的更多相关文章

  1. Elasticsearch学习记录(分布式的特性)

    Elasticsearch学习记录(分布式的特性) 分布式的特性 我们提到Elasticsearch可以扩展到上百(甚至上千)的服务器来处理PB级的数据.然而我们的例子只给出了一些使用Elastics ...

  2. Erlang学习记录:输入和输出

    输入和输出 输入和输出功能都被定义在io模块 输出功能非常常用,由于erlang项目没有可断点调试的IDE(或者说根本不需要),所以所有的调试操作都是由io输出 来调试的 io:get_line/1. ...

  3. vue3学习记录(新特性)

    总概 1) 性能提升 打包大小减少 41% 初次渲染快 55%,更新渲染快 133% 内存减少 54% 使用 Proxy 代替 defineProperty 实现数据响应式 重写虚拟 DOM 的实现和 ...

  4. Erlang学习记录(三)——表达式大集合

    Erlang中的表达式必须以.结束才会去执行.如果不加.你在编译环境下按多少次Enter,表达式都不会执行,表达式之间可以用,分隔,以.结尾后所有的表达式都会执行,但是只有最后一个以.结尾的表达式会在 ...

  5. Erlang学习记录(二)——基本数据类型

    Erlang可以说和我以前接触过的语言都大不相同,这个从它的类型定义就可以看出来...反正学起来觉得既不熟悉,也不亲切,我估计在用Erlang写应用的时候,整个编程思路都要变一下了.不过存在即是合理的 ...

  6. Erlang学习记录(一)——Windows下的环境搭建

    一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二.运行编译器 安装完编译器后,打开安装目录下 ...

  7. Erlang学习记录:相关工具和文档

    在线工具和文档 网址 说明 OTP Reference Page Index 内置模块查询 Erlang/OTP Applications N Kernel Reference Manual 入门官方 ...

  8. Python学习记录----语法学习

    一控制语句 http://blog.csdn.net/lynn_yan/article/details/5464911 if 语句 二 字典详解 http://blog.csdn.net/moodyt ...

  9. Erlang学习记录:app demo

    目录结构 │ Emakefile │ make.bat │ start.bat ├─config │ config.config │ server.app ├─ebin │ wulin_app.bea ...

随机推荐

  1. Codeforces Round #527 F - Tree with Maximum Cost /// 树形DP

    题目大意: 给定一棵树 每个点都有点权 每条边的长度都为1 树上一点到另一点的距离为最短路经过的边的长度总和 树上一点到另一点的花费为距离乘另一点的点权 选定一点出发 使得其他点到该点的花费总和是最大 ...

  2. js button禁用/启用

    搬运自:https://blog.csdn.net/SonaEx/article/details/80879061 禁用: $("#id").attr("disabled ...

  3. springMvc框架之Restful风格

    method: @Controller @RequestMapping("/test") public String MyController{ @RequestMapping(& ...

  4. docker Dockerfile学习---构建redis环境

    1.创建项目目录并下载包及文件 mkdir centos_redis cd centos_redis wget http://download.redis.io/releases/redis-5.0. ...

  5. mysql数据分组

    创建分组 分组是在SELECT语句中的GROUP BY 子句中建立的. 例: SELECT vend_id, COUNT(*) AS num_prods FROM products GROUP BY ...

  6. scala中的闭包

    scala闭包 代码示例: package test.close_pack import scala.collection.mutable.ArrayBuffer /** * AUTHOR Guozy ...

  7. 使用 async await 封装微信小程序HTTP请求

    1. 编写将普通回调函数形式的方法转换为promise方法的promisic方法 // util.js const promisic = function (func) { return functi ...

  8. 使用vue-cli脚手架和vue-router搭建项目(一)

    之前做的项目一直比较简单,并没有引入整个路由库.今天准备练习下

  9. leetcode-52-N皇后②

    题目描述: 方法一:回溯 class Solution: def totalNQueens(self, n: int) -> int: def backtrack(i,tmp,col,z_dia ...

  10. Batch - forfiles 命令详解

    forfiles 命令详解 C:\Users\cuixunxu>forfiles /? FORFILES [/P pathname] [/M searchmask] [/S] [/C comma ...