差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
public:it:erlang [2016/10/20 09:58] – [学习新语言的一般步骤] oakfire | public:it:erlang [2018/02/28 13:48] (当前版本) – 外部编辑 127.0.0.1 | ||
---|---|---|---|
行 14: | 行 14: | ||
* OTP 是个 erlang 功能库,并提供插件开发的原则框架。 | * OTP 是个 erlang 功能库,并提供插件开发的原则框架。 | ||
* 了解输入输出流, | * 了解输入输出流, | ||
+ | * 流操作 [[http:// | ||
+ | * 文件操作 [[http:// | ||
* 了解程序代码和可执行代码的组织机制,运行时模块加载、符号查找机制 | * 了解程序代码和可执行代码的组织机制,运行时模块加载、符号查找机制 | ||
+ | * 代码由 **modules** 构成,一个 module 由 属性 于 函数构成,以'' | ||
+ | * module 可包含很多 预定义属性,具体见教程; | ||
+ | * 只有单行注释符号'' | ||
* 了解该语言的基本数据类型 | * 了解该语言的基本数据类型 | ||
* **integers, floats**: 除传统数值表示,有两种 erlang 独特的表示方法: | * **integers, floats**: 除传统数值表示,有两种 erlang 独特的表示方法: | ||
* $char : 表示 char 的ascii码或 unicode 码数值; | * $char : 表示 char 的ascii码或 unicode 码数值; | ||
* base#value : base 为进制(2~36),比如 2#1101, 8#15, 16#d 为相同数值; | * base#value : base 为进制(2~36),比如 2#1101, 8#15, 16#d 为相同数值; | ||
- | * **Atom** : 表示字符数字组成的名称常量,如果有空格,@等特殊字符或非小写字母开头,则要使用单引号扩起来,如 phone_number,' | + | * **Atom** : 表示字符数字组成的名称常量,如果有空格,@等特殊字符或非小写字母开头,则要使用单引号扩起来,如 |
- | * **bit strings** : 用来表示还没区分类型的内存存储数值,有点像nodejs的Buffer: | + | * **bit strings** : 用来表示还没区分类型的内存存储数值(有点像 nodejs 的 Buffer): '' |
- | * **reference** : 引用,由 | + | * **reference** : 引用,由 |
+ | * **Fun** : 函数对象'' | ||
+ | * **Port Identifier** : erlang port, 由'' | ||
+ | * **pid** : erlang process(不同于一般进程的概念)的标识,由'' | ||
+ | * **Tuple**: '' | ||
+ | * **Map**: ''# | ||
+ | * **List**: '' | ||
+ | * **String**: 双引号扩起来的字符串,本质上算 List; 两个字串会被自动连接,比如''" | ||
+ | * **Record**: 类似 C 语言的 struct; | ||
+ | * **true**, | ||
+ | * **类型转换**:'' | ||
* 了解基本语法和主要语言构造,数学运算符 | * 了解基本语法和主要语言构造,数学运算符 | ||
+ | * **模式匹配**:erlang 的等号'' | ||
* 了解数组和其他集合类的使用 | * 了解数组和其他集合类的使用 | ||
* 了解字符串的处理 | * 了解字符串的处理 |