# erlang开发注意事项
# Erlang/OTP 20 模式匹配映射组字段时应使用 := 符号而不是 => 符号
亲测如下:
Erlang/OTP 20 [erts-9.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [kernel-poll:false]
Eshell V9.2 (abort with ^G)
1> F=#{name => summergao , age => 28}.
#{age => 28,name => summergao}
2> #{ name => A} = F.
* 1: illegal pattern
3> #{ name := A} = F.
#{age => 28,name => summergao}
4> A.
summergao
5>
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# Erlang 预定义宏
?FILE展开成当前的文件名;
?MODULE展开成当前的模块名;
?LINE展开成当前的行号。
# ** exception error: undefined function appmon:start/0
这个appmon,在erl17以后改成observer了。所以如果你打命令appmon:start()无法启动,可以试试 observer:start().
observer:start().
1
# ** exception error: no match of right hand side value <0.99.0>
** exception error: no match of right hand side value <0.99.0>
出错原因变量被重复绑定多次,因为Erlang变量只能绑定一次,可以 运行以下指令查看当前变量的绑定状态:
b().
执行以下指令解除所有变量绑定:
f().
或解除指定变量(例如解除Pi变量):
f(Pi).