erlang 數據結構--(ord)dict

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]}]
    函數是將增加的元素以 ++ 的形式加入的, 所以之前在其中的元素必須是個列表
發佈了47 篇原創文章 · 獲贊 6 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章