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

ets:match_spec_compile/1

把一个匹配规范编译为它的内部表示形式

用法:

match_spec_compile(MatchSpec) -> CompiledMatchSpec

这个函数把一个匹配规范 MatchSpec 转换为一个可用于被 ets:match_spec_run/2 在后续调用的内部表示形式。转换后的内部形式"不透明"的一个数据,它并不能转回为其原来的外部数据格式,并且完好无损的转回(这意味着它不可以发送到另一节点的进程上,并且仍然是一个有效的已编译的匹配规范,或存储在磁盘上也是不行)。

可以使用 ets:is_compiled_ms/1 来检测一个匹配规范是否有效。

MatchSpec = ets:fun2ms(fun({M, N}) when N > 3 -> M end),
ets:match_spec_compile(MatchSpec).

如果匹配规范 MatchSpec 不能被编译(并不是一个有效的匹配规范),将会抛出一个 badarg 的错误。

MatchSpec = "not_a_valid_ match_spec",
ets:match_spec_compile(MatchSpec).
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9