# 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

# 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).

Last Updated: 4/23/2021, 12:47:12 PM