9> A = lists:seq(1,10).
[1,2,3,4,5,6,7,8,9,10]
13> Fn = fun (L) -> [0|L] end.
#Fun<erl_eval.6.90072148>
14> Fn(A).
[0,1,2,3,4,5,6,7,8,9,10]
15> A.
[1,2,3,4,5,6,7,8,9,10]
如果erlang内部通过引用传递(see this),为什么A的值不反映更改?
我错过了什么基本的传递引用或 erlang ?
答案 0 :(得分:3)
列表是L = [Head | Tail]形式的递归构造,其中Head是任何有效的erlang术语,Tail应该是一个列表(如果是其他L则称为不正确的列表,超出范围这个讨论)。
说L作为参考传递意味着: