R20 中催束,ets添加了select_replace/2函數(shù)集峦,可以對(duì)匹配行執(zhí)行修改函數(shù)了,執(zhí)行原理暫時(shí)不明,不過(guò)終于可以拋棄原來(lái)的啰嗦過(guò)程了塔淤。
有點(diǎn)小興奮摘昌,特來(lái)分享:
1>T = ets:new(x,[]), ets:insert(T, {key, [1,2,3]}).
true
2>MS = ets:fun2ms(fun({K, L}) when is_list(L) -> {K, [marker | L]} end).
[{{'$1','$2'},[{is_list,'$2'}],[{{'$1',[marker|'$2']}}]}]
3>ets:select_replace(T, MS).
1
4>ets:tab2list(T).
[{key,[marker,1,2,3]}]
抱歉只能copy文檔例子,因?yàn)?...沒(méi)R20環(huán)境吶
順便跟update_element/3函數(shù)說(shuō)拜拜.