给孩子过程命名

时间:2012-10-27 16:29:49

标签: erlang distributed

我有使用spawn_link产生动态孩子的主管。当我创建新孩子时:

create_my_child().

它返回:

{ok, <0.324.0>}

所以一切都快乐。我尝试从控制台为子项分配变量:

{ok,X} = create_my_child()

我收到错误说:

  

异常错误:右侧值不匹配

并说:

  

{主管,do_start_child_i,3

我完成了所有艰苦的工作,是否可以为子进程执行此操作?

1 个答案:

答案 0 :(得分:2)

如果您在控制台中执行了所有这些操作,则X已经绑定返回第一个spawn_link来电的Pid,以及随后尝试将{ok, X}create_my_child()来电匹配因“右手边不匹配”错误而失败。

在Erlang中,变量不可变,因此在它已经有值之后你不能重新分配X。在控制台中,您可以f()清除shell的变量,但更简单的解决方案是简单地绑定另一个变量(即X2