在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/