0%

erlang mix

概述

erlang杂项

erlang杂项

UTF编码问题

1
2
3
4
5
6
7
8
%% 这样不会报错
Msg = utils:format(<<("<font color='#36d626'>看了看开服时间你好你好")/utf8>>).

%% 但是这样就会报错

Msg = "<font color='#36d626'>看了看开服时间你好你好".

<<Msg/utf8>>. %%这里直接报错了

很奇怪的原因

–运算符

1
2
3
4
> [1,2,3,2] --[2] --[2].
[1,2,3,2]
> [1,2,3,2]--[2] .
[1,3,2]

–符号的运算顺序是从右到左可以分两步执行或者用括号括起来([1,2,3,2] –[2]) –[2].

++运算符

1
2
lists:append()
M++N会遍历列表M所以如果必须要使用++也要让数据量小的List在前面

ets

1.hash table 通过用空间换时间的方式,将查找时间从O(n)下降到O(1) 主要是加快查找速度

2.ETS表在内部是用散列表(哈希表)表示的(除了有序异键表 他是平衡二叉树)

3.异键表 少许空间开销 插入所需时间 恒定
4.有序异键表 时间开销 插入所需时间 表内条目数量的对数成比例

5.ETS里面查数据的速度 和数据条数的多少没有关系 和每条数据的大小有关
《Erlang程序设计第二版page254》