[英]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.