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]}]).