【发布时间】:2009-11-04 17:45:31
【问题描述】:
我什么时候应该使用进程范围的字典,我的进程状态什么时候应该在循环函数的参数中?
这个:
loop() ->
receive
{From, subscribe} ->
put(listeners, [From|get(listeners)]),
?MODULE:loop()
end.
或者这个:
loop(Listeners) ->
receive
{From, subscribe} ->
?MODULE:loop([From|Listeners])
end.
?
循环函数的参数具有明确的好处,因为它之外的任何东西都不能改变参数(除非你在另一个函数上做奇怪的魔法弹跳,比如蹦床),但是状态往往会累加,并且参数和他们一起。
将字典作为参数怎么样?两全其美还是两全其美?
【问题讨论】:
标签: erlang