[英]Erlang ETS Match
使用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]}]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.