在Erlang shell:
> orddict:fetch(b, [{d, 2}, {a, 1}, {b,5}, {c,9}]).
** exception error: no function clause matching
orddict:fetch(b,[{d,2},{a,1},{b,5},{c,9}])
但
> orddict:fetch(b, [{a, 1}, {b,5}, {c,9}]).
5
我在这里缺少什么?
参考文献:orddict:fetch/2
The orddict docs将orddict描述为orddict() = [{Key :: term(), Value :: term()}]
。
答案 0 :(得分:16)
解决此问题的关键在于the docs:
列表按键后排序。
使用orddict:from_list/1转换{key, value}
对的常规列表。
> orddict:fetch(b, orddict:from_list([{d, 2}, {a, 1}, {b,5}, {c,9}])).
5