使用记录

时间:2017-12-29 12:20:16

标签: erlang ets

假设一个ets表,如:

I = ets:new(mytable, [named_table, set]).

然后

ets:insert(I, {10,{10, 4 ,"description"}).

现在,我想更新元素" 4"使用ets:update_counter

我尝试了不同的方式,但无法找到解决方案,例如:

ets:update_counter(I, 10 , {3,1}).

** exception error: bad argument
     in function  ets:update_counter/3
        called as ets:update_counter(mytable,10,{3,1})

我希望将结果显示为:

{10,{10, 5 ,"description"}

1 个答案:

答案 0 :(得分:0)

我建议只使用一个元组作为键和值,而不是使用元组作为另一个元组中的值:

1> I = ets:new(mytable, [named_table, set]).
mytable
2> ets:insert(I, {10, 10, 4 ,"description"}).
true
3> ets:update_counter(I, 10 , {3,1}).        
5
4> ets:lookup(I, 10).
[{10,10,5,"description"}]