[Erlang开发之路]八、Erlang顺序编程补漏

2019-07-18  本文已影响0人  循环不计次

一、算数表达式及其优先级

操作符 描述 参数 优先级
X+/-Y 加减法 数值 3
X*/Y 乘除法 数值 2
X div Y 整除 整数 2
X rem Y 取余 整数 2
X band Y 按位于 整数 2
X bor Y 按位或 整数 3
X bxor Y 按位异或 整数 3
X bsl N 左移 整数 3
X bsr N 右移 整数 3
bnot 按位取反 整数 2

二、元数(arity)

即函数的参数个数

三、属性

1.预定义的模块属性

2.用户定义的模块属性

四、块表达式

应用场景:代码某处要求是单个表达式,但我们需要做多个事情,也就是使用表达式序列。
举例:

begin
    Expr1,
    ...,
    ExprN
 end.

五、布尔值

Erlang没有单独的布尔值类型,但是可以用原子类型的true和false表示

六、布尔表达式

七、注释

Erlang的注释符号是%,很可惜,他有没有块的注释

八、包含文件

九、宏

1.定义方法

-define(Func(a,b),{a,b}).
foo(A)->
    ?Func(1,1).%扩展之后就是{1,1}

还有一些预定义提供了当前模块的信息

2.宏控制流

-ifdef(debug_flag).
-define(DEBUG(X),io:format("DEBUG ~p:~p ~p~n",[?MODULE,?LINE,X])).
-else.
-define(DEBUG(X),void).
-endif.

十一、进程字典

相当于erlang进程里的私有数据区域。
操作BIF:

十二、比较数据类型

这里侧重讲其中4个

PS:我再也不在内网写note了!被坑了

上一篇 下一篇

猜你喜欢

热点阅读