这段代码有什么问题? 我预计"titi"
在person.name
但我仍然有"toto"
! 更明确地说,如何修改函数中的记录?Erlang和记录
init1()->
S=#person{name="toto"}, %record creation and field setting
fct(S),
io:format("~s~n",[S#person.name]).
fct(R)->
R#person{name="titi"}. %record updating
是否可以申报全球记录? – Bertaud 2011-01-10 16:08:32
@Bertaud,全局变量违背了Erlang的设计原则。即使变量是全局变量,但由于Erlang中变量的不变性,您无法对其进行修改。如果你仍然想使用,你可以使用put和get来存储记录在进程字典中(只能被进程访问,但不需要在函数中传递数据)或使用ets表。 – 2011-01-10 16:19:56