【发布时间】:2019-08-22 20:45:36
【问题描述】:
我想制作一个地图,它有一个记录作为键和列表作为一个值,但是我在检查是否已经存在类似的键时遇到了问题 - 或者我不知道如何使它工作二郎。
我有一个包含三个值的记录,我需要检查映射中是否有至少一个值相等的键。
我是这么看的:
-record(r, {A, B, C}).
addRecord(newA, newB, newC, Map) ->
case maps:is_key(#r{A = newA, B = _, C = _}, Map) or maps:is_key(#r{A = _, B = newB, C = _}, Map) or maps:is_key(#r{A = _, B = _, C = newC}, Map) of
true -> threo("...")
_ -> maps:put(#r(A = newA, B = newB, C = newC), [], Map)
end.
我的想法是在 maps:is_key 中将 _ 作为“任何值”,但这在 Erlang 中不起作用。
您知道如何检查它(可能很容易)吗?
【问题讨论】: