Erlang/OTP R20 ETS新函数

R20 中,ets添加了select_replace/2函数,可以对匹配行执行修改函数了,执行原理暂时不明,不过终于可以抛弃原来的啰嗦过程了。

有点小兴奋,特来分享:

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文档例子,因为....没R20环境呐

顺便跟update_element/3函数说拜拜.

你可能感兴趣的:(Erlang/OTP R20 ETS新函数)