Erlang 笔记

集成开发环境:IntelliJ IDEA的Erlang插件

教程:www.erlang-cn.com/462.html,寻找erlang程序设计第2版pdf

f():释放之前绑定过的所有变量。

-export([Name/N]):表示带有N个参数的名为Name的函数。

Erlang中同一模块同名但是参数个数不同的两个函数,是两个完全不同的函数,他们之间除了名字相同,别无关联。

-import():从模块导入函数,以后使用时不需要加模块名前缀。

-export():从模块导出,以便于在模块之外的其他地方使用,只有在一个模块中导出的函数,才能在其他地方使用。

[Fun(X) || X<- L]:列表解析,表示由Fun(X)构成列表,X来源于列表L.

断言中“,”表示and,";"表示or.

-spec: 函数规范可以通过新引入的关键字 'spec' 来定义。Erlang为动态语言,变量在运行时动态绑定,这对于我们获取函数的参数及返回值的类型信息具有一定的难度。 为了弥补这个不足,在Erlang中我们可以通过type及spec定义数据类型及函数原型。

-redord:记录,使用,#rec{}

-define:在定义一个module的时候,只写一些共性的行为,同时为一些特殊的方法留下callback接口,这一module就是the behaviour module;然后,在具体使用的时候,实现不同的callbacks即可,这一module就是the callback module,这一机制就是behviour机制了.

Erlang字符创必须使用双引号。

-undef(Macro):取消宏定义

-ifdef(Macro):只有在存在宏定义时,执行后续代码。

-ifndef(Macro):不存在宏定义时执行。

-else:在ifdef或者ifndef后出现,如果条件为false,执行。

-endif:ifdef和ifndef的结束标志。

格式化输出:~p完整打印,~n产生新行

原文地址:https://www.cnblogs.com/buxizhizhoum/p/6414051.html