我试图解决的问题如下:
编写一个名为squared的Erlang函数,该函数不带参数。该函数应等待接收消息。消息的格式为{ Pid,N },其中您可以假设Pid是进程ID,N是一个数字。该函数应向进程ID Pid发送一条消息,格式为{ Me,X },其中Me是运行该函数的进程的进程ID,X是N的平方值。然后,该函数应该结束。
到目前为止,我有:
-module(main).
-export([squared/0]).
squared() ->
receive
{Pid,N} -> Pid ! {Me, X}, squared();
terminate -> ok
end.
我得到的错误如下:
3〉c(主要)。
main.erl:7:变量“Me”未绑定
main.erl:7:变量“X”未绑定
注意:警告:变量'N'未使用错误
我在问题的第二部分也遇到了麻烦,它要求我们以{Me,X}的形式向进程ID发送一条消息。其中Me是进程ID,X是N的平方值。我们将如何做到这一点?
2条答案
按热度按时间0lvr5msh1#
for implement your function you can write a function like bellow
lo8azlld2#
Me
应该是接收进程的pid,即self()
。N的平方正好是N*N。或者,如果你想更冗长: