我有一个简单的模块:
-module(dist).
-compile([add/3]).
add(From,X,Y) ->
From ! X+Y.
我正在启动两个节点。
一个
erl -sname foo
和另一个
erl -sname bar
在我正在做的吧节点上:
> c(dist).
{ok,dist}
> self().
<0.37.0>
> spawn('foo@unknown-00-23-6c-83-af-bd', dist, add, [self(), 3, 5]).
但我得到的反应是:
Error in process <0.48.0> on node 'foo@unknown-00-23-6c-83-af-bd' with exit value: {undef,[{dist,add,[<8965.37.0>,3,5]}]}
这个错误是什么意思?我想知道这是否意味着我的foo节点没有定义这个模块?我不认为它需要它,但问题并没有通过编译foo节点中的dist来解决,所以我猜这不是问题。
答案 0 :(得分:7)
导出add / 3。而不是编译选项。
-export([add/3]).
答案 1 :(得分:0)
如果在第一个节点中使用nl(模块),那么该模块的波束将被加载到所有连接的节点