1. 今天是dict 和 orddict
- 都是key-value 数据机构
- dict 判断key是否等于用的是 =:=,也就是说1,1.0 是不同的key,而orddict判断等于用的是 ==
- orddict 在learnyousomeerlang 上说的是适用于75个元素以下的数据量, 在之上可以用dict,或者gb_tree
- 两个模块提供了相同的功能函数, 所以一起介绍。
2. 函数
- 值得注意的是append/3 和 append_list/3函数
1> D1 = orddict:store(1, a, orddict:new()).
[{1,a}]
2> D2 = orddict:store(1, [a], orddict:new()).
[{1,[a]}]
3> orddict:append(1, b, D1).
** exception error: bad argument
in operator ++/2
called as a ++ [b]
in call from orddict:append/3 (orddict.erl, line 130)
4> D3 = orddict:append(1, b, D2).
[{1,[a,b]}]
5> orddict:append_list(1, [a,b,c], D3).
[{1,[a,b,a,b,c]}]
函数是将增加的元素以 ++ 的形式加入的, 所以之前在其中的元素必须是个列表