我有这张桌子:
-record(person, {id, firstname, lastname, address}).
例如,此表包含以下值:
2 alen dumas paris
5 franco mocci parma
3 ali othmani london
现在我有了 Key
包含这个值 的变量10
我想在 erlang 中开发一个函数,它将修改所有id
表person
this 的新值id
将是以前的值 + 的值Key
表示餐桌人会变成这样
12 alen dumas paris
15 franco mocci parma
13 ali othmani london
意思是每个id
都加 10(是 的值Key
):(2+10) (5+10) (3+10)
我尝试使用您的代码:
testmodify()->
Key=22,
[ P#person{id=P#person.id+Key} || P <- Persons ].
但我在 sysntax 中有这个错误:variable Persons is unbound
我尝试用这段代码解决这个问题:
testmodify()->
Key=22,
[ P#person{id=P#person.id+Key} || P <- mnesia:table(person) ].
但我有这个错误:
1> model:testmodify().
** exception error: no function clause matching
model:'-testmodify/0-lc$^0/1-0-'({qlc_handle,
{qlc_table,
#Fun<mnesia.20.112329951>,
true,
#Fun<mnesia.21.62211129>,
#Fun<mnesia.22.75429001>,
#Fun<mnesia.23.26336897>,
#Fun<mnesia.26.62819299>,
#Fun<mnesia.25.51075493>,
#Fun<mnesia.24.47804912>,
'=:=',undefined,
no_match_spec}})