在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() = [{Key :: term(), Value :: term()}]

最佳答案

解决此问题的关键在the docs中:



使用orddict:from_list/1从常规{key, value}对列表进行转换。

> orddict:fetch(b, orddict:from_list([{d, 2}, {a, 1}, {b,5}, {c,9}])).
5

关于erlang - 为什么orddict :fetch/2 being crazy?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8216873/

10-13 02:06