微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

了解 erlang ETS 匹配规范的行为

如何解决了解 erlang ETS 匹配规范的行为

我正在尝试在 DETS 表上构建匹配规范,但遇到了一些令我感到困惑的事情。

表格条目的结构如下:

{'RECORD_KEY','BODY_TUPLE'}

'RECORD_KEY' 术语看起来像这样 {shell,T1,T2,T3,T4,T5,T6}

如果我符合规范:

{{' _','_','$1','_'},'$2'} 

ie: dets:match(Ref,{{'_','$2'} )

我得到了表中的所有条目。 但是,现在我尝试在匹配规范中添加一些其他术语,以便我可以开始添加这样的保护:

  Terms = {{' _','$2'},Gaurds = [],Returns = ['$1'],Pattern = [{Terms,Gaurds,Returns}],Matches = dets:match(Ref,Terms),

即使我用“$_”替换“$1”也不会返回任何条目。

在这里做错了什么?

解决方法

好吧,我觉得有点愚蠢,去年我实际上使用了很多 ETS 表,但我忘记了 ets:match 和 ets:select 是两个不同的函数。我应该使用 SELECT。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。