私はこのテーブルを持っています:
-record(person, {id, firstname, lastname, address}).
たとえば、このテーブルには次の値が含まれています。
2 alen dumas paris
5 franco mocci parma
3 ali othmani london
Key
これで、この値を含む 変数ができました 10
id
すべてのテーブルを変更する関数を erlang で開発したいperson
this の新しい値はid
、以前の値 + の値になります。Key
テーブルパーソンはこうなる
12 alen dumas paris
15 franco mocci parma
13 ali othmani london
それぞれが10ずつ追加されることを意味id
します(の値です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}})