integers, floats: 除传统数值表示,有两种 erlang 独特的表示方法:
$char : 表示 char 的ascii码或 unicode 码数值;
base#value : base 为进制(2~36),比如 2#1101, 8#15, 16#d 为相同数值;
Atom : 表示字符数字组成的名称常量,如果有空格,@等特殊字符或非小写字母开头,则要使用单引号扩起来,如 phone_number,'Month','phone number' ;
bit strings : 用来表示还没区分类型的内存存储数值(有点像 nodejs 的 Buffer):
«10,20» ,
具体示例
reference : 引用,由 make_ref/0返回;
Fun : 函数对象Fun1 = fun (X) → X+1 end. Fun1(2);
Port Identifier : erlang port, 由
open_port/2返回,
详解
pid : erlang process(不同于一般进程的概念)的标识,由spawn/1,2,3,4 spawn_link/1,2,3,4 spawn_opt/4返回
Tuple: P = {Term1,…,TermN}, element(i,P), P2 = setelement(i,P,value), tuple_size(P);
Map: #{Key1⇒Value1,…,KeyN⇒ValueN},maps:get(key,map),map2 = maps:update(key,map), map_size(map)
List: [Term1,…,TermN], [head|tail]
String: 双引号扩起来的字符串,本质上算 List; 两个字串会被自动连接,比如“hello”“world”等价于“helloworld”
Record: 类似 C 语言的 struct;
true,false: 来表示 boolean
类型转换:atom_to_list,list_to_atom,tuple_to_list,list_to_tuple等等。