如何更新存储在ETS表中的元组中的数字



假设我有一个ETS表,例如:

I = ets:new(mytable, [named_table, set]).
ets:insert(I, {10,{10, 4 ,"description"}).

我想使用ets:update_counter更新元素4

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

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> 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"}]

相关内容

  • 没有找到相关文章

最新更新