我在模块rpc函数pmap中找到了.当我试图使用它时我就卡住了.
第一个问题 - 它是否需要与其他节点连接,或者它会像lists:map没有与其他节点的连接那样执行?
我试图在pmap没有连接到其他节点的情况下执行,但是得到了异常:
7> rpc:pmap( { erlang, '+' }, [], [[1,1],[2,3]] ).
** exception exit: badrpc
in function rpc:check/2 (rpc.erl, line 745)
Run Code Online (Sandbox Code Playgroud)
之后 - 我启动了另一个本地节点并将其与当前节点连接起来.但仍然得到同样的错误.
请告诉我如何rpc:pmap正确使用.
谢谢
PS 以下代码预期工作(返回结果3):
70> erlang:apply( erlang, '+', [1,2] ).
3
71> erlang:'+'(1,2).
3
Run Code Online (Sandbox Code Playgroud)
rpc:map({Module,Function},ExtraArgs,List1)并行地为List1中的每个元素Elem评估apply(Module,Function,[Elem | ExtraArgs]).
所以使用erlang的正确语法:'+'是:
1> rpc:pmap({erlang,'+'},[2],[1,2,3]).
[3,4,5]
2>
评估[1 + 2,2 + 2,3 + 2]
语法rpc:pmap({lists,sum},[],[[1,2],[4,5]])将评估[1 + 2,4 + 5]并返回[3,9]
帕斯卡尔