1. 今天是dict 和 orddict
  1. 都是key-value 数据机构
  2. dict 判断key是否等于用的是 =:=,也就是说1,1.0 是不同的key,而orddict判断等于用的是 ==
  3. orddict 在learnyousomeerlang 上说的是适用于75个元素以下的数据量, 在之上可以用dict,或者gb_tree
  4. 两个模块提供了相同的功能函数, 所以一起介绍。
2. 函数
  1. 值得注意的是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]}]
    函数是将增加的元素以 ++ 的形式加入的, 所以之前在其中的元素必须是个列表
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐