使用 Erlang ets,如何匹配部分键?
例如,ets:insert(time_tb,{ {un_known,{<<"knonw_1">>,<<"knonw_2">>} },[data]}).
关键是{un_known,{<<"knonw_1">>,<<"knonw_2">>}
{<<"knonw_1">>,<<"knonw_2">>}
如果我只知道这可能,我怎么能从表中匹配?
如果我理解正确,没有必要的使用功能匹配。您可以使用函数ets:select和est:fun2ms来简化匹配规范。
R=ets:fun2ms(fun(Data={{_,T},_}) when T =:= {<<"knonw_1">>,<<"knonw_2">>}->Data end).
ets:select(time_tb,R).
并得到:
[{{un_known,{<<"knonw_1">>,<<"knonw_2">>}},[data]}]