Erlang中文手册(Erldoc.com)  »  ets  »  match_spec_run/2
Erlang并发编程 Erlang/OTP设计原理 Erlang/OTP[pdf] Mnesia用户手册[pdf] Erlang完整手册[en] 官网手册[en] 模块列表 方法列表 随机 Erlang中文社区(BBS) 美女图库

ets:match_spec_run/2

使用一个匹配规范来执行匹配操作

用法:

match_spec_run(List, CompiledMatchSpec) -> list()

这个函数是用一个已编译的匹配规范对一个元组形式的列表进行指定匹配,参数 CompiledMatchSpec 是函数 ets:match_spec_compile/1 调用产生的匹配规范,因此是该函数想用的匹配规范的内部表示形式。

该匹配操作会对列表里的每一个元素进行匹配操作,并返回一个包含所有结果的列表。如果列表里的一个元素并不符合匹配,将不会返回任何数据。因此返回的结果列表的长度有可能会小于参数列表的长度。

MatchSpec = ets:fun2ms(fun({M, N}) when N > 3 -> M end),
CompiledMatchSpec = ets:match_spec_compile(MatchSpec),
List = [{1, 2}, {3, 4}, {5, 6}],
ets:match_spec_run(List, CompiledMatchSpec).
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9