erlang

1一个函数为什么要使用另一个同名的不同参数的函数调用?

(1)利用一个间接层去调用;

(2)用于尾递归;

(3)统一接口,当一个管理模块要管理下面的子模块时,就要统一接口,使用方便。

2进程字典的使用:

(1)一个进程要有多个进程字典,但是一个进程字典只能给自己进程共享;

(2)一般的函数为put,get

put(Key, Val) -> OldVal | undefined

Types:

Key = Val = OldVal = term()

Adds a new Key to the process dictionary, associated with the value Val, and returns undefined. If Key already exists, the old value is deleted and replaced by Val and the function returns the old value.

get(Key) -> Val | undefined

Types:

Key = Val = term()

Returns the value Valassociated with Key in the process dictionary, or undefined if Key does not exist.

key为了使用容易方便,可以用一个元组,如erlang:put({?ROLEID,RoleId},RecordData).

他改变了变量一次赋值的概念,可以多次赋值,使用方便,效率高。

3一个子模块要处理来servertoserver,clienttoserver两种信息,统一接口吧。给用户好用才是王道。

4函数参数如果包含很多信息,并且是一类的,就要考虑是不是要给他做一个record,然后再用

#Record {id=Id,passwd=Passwd}=DataIn,把信息取出来。

这个把DataIn给赋值一个record,DataIn不能放在匹配的后面。编译不过

但是要是id=1改为id,则输出为id为undefined的。DataIn不能再二次赋值。

5.重要的信息要用用事务

最本质的是要说在事务中。这是重要信息--money.

你可能感兴趣的:(get,put)