Erlang语言学习系列(四)

时间:2022-06-01 17:55:39

变量与模式匹配

1.Erlang中变量标志符应以大写字母开头。

2.所有变量为单一赋值变量;未绑定值前,为*变量,可绑定任何类型值;一旦绑定,则永远不能改变。(变量是不是有点名不符实呢^-^)

3.“=”号在Erlang语言中为模式匹配运算符,表示进行一次模式匹配。

比如:

X = 2. %X为*变量时,将2绑定给X,会使得模式匹配结果为true,因为2和2可以匹配。

X = 3. %此时X不是*变量了,2和3不能匹配。

如下图,第一行匹配后,X绑定了2;而第二行用3和X绑定的2匹配,所以出现了不能匹配的例外错误。

Erlang语言学习系列(四)

这里的变量是不是和Java语言中的fina修饰的变量或C语言中的CONST定义常量有点类似呢?

4.结构数据类型与模式匹配,如下图所示:

Erlang语言学习系列(四)

Erlang语言学习系列(四)

5.特殊匹配举例

Erlang语言学习系列(四)

6.匿名变量“_”

可以在同一个匹配式中用匿名变量匹配多个不同的值,而不受单一绑定的影响,也不会出现匹配错误。而其匹配出的变量也不会引用。

Erlang语言学习系列(四)

在shell中f().命令可以取消所有已经绑定的变量。