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

ets:select_delete/2

根据匹配模式删除表里的对象数据

用法:

select_delete(Tab, MatchSpec) -> NumDeleted

使用一个匹配规范 MatchSpec 来匹配表 Tab 里的对象数据。如果对一条对象数据使用匹配规范时返回 true,并且该条对象数据会从表里移除。对于任何被匹配规范(match_spec)所匹配到的对象数据会被作为返回值而保留下来。该函数比 ets:match_delete/2 还更通用(ets:match_delete/2 的代码实现里还调用到 ets:select_delete/2 方法)。

函数最后会返回一个实际在表里被删除的对象的数量值。

Tab = ets:new(ets_tab, [named_table, bag]),
ets:insert(Tab, [{rufsen, dog, 7}, {brunte, horse, 5}, {ludde, dog, 5}]),
ets:select_delete(Tab, [{{'_', dog, '$1'}, [], [true]}]).
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9