我有使用spawn_link产生动态孩子的主管。当我创建新孩子时:
create_my_child().
它返回:
{ok, <0.324.0>}
{ok,X} = create_my_child()
我收到错误说:
异常错误:右侧值不匹配
并说:
{主管,do_start_child_i,3
我完成了所有艰苦的工作,是否可以为子进程执行此操作?
答案 0 :(得分:2)
如果您在控制台中执行了所有这些操作,则X已经绑定返回第一个spawn_link
来电的Pid,以及随后尝试将{ok, X}
与create_my_child()
来电匹配因“右手边不匹配”错误而失败。
在Erlang中,变量不可变,因此在它已经有值之后你不能重新分配X
。在控制台中,您可以f()
清除shell的变量,但更简单的解决方案是简单地绑定另一个变量(即X2
)