Concurrency 为什么erlang spawn函数调用中会出现语法错误?";前面的语法错误:';)'&引用;?

Concurrency 为什么erlang spawn函数调用中会出现语法错误?";前面的语法错误:';)'&引用;?,concurrency,erlang,erl,Concurrency,Erlang,Erl,这是我在在线编译器中运行的代码 -module(helloworld). -export([start/0, call/2]). start() -> % error in the below line as syntax error before: ')' Pid = spawn(?MODULE, call, ["hello","world"] ), io:fwrite("~p",[Pid]). call(Arg1, Arg2) -> io:format("~p ~

这是我在在线编译器中运行的代码

-module(helloworld). 
-export([start/0, call/2]). 

start() -> 
% error in the below line as  syntax error before: ')'
Pid = spawn(?MODULE, call, ["hello","world"] ),
io:fwrite("~p",[Pid]).


call(Arg1, Arg2) -> 
io:format("~p ~p~n", [Arg1, Arg2]). 

我在
tutorialspoint
中在线尝试了erlang编译器,可以重现这个问题。我猜它在编译器中遇到了一些问题,这不是您的错,请继续调查Erlang:)

您可以联机更改此编译器

//编辑: 问题可能来自
tutorialspoint
的编辑。它使编译器无法理解函数
spawn/3
,请为
spawn/3
函数添加双路径
'
,如下所示,它将编译并运行:

 Pid = 'spawn'(?MODULE, call, ["hello","world"] ),

我在
tutorialspoint
中在线尝试了erlang编译器,可以重现这个问题。我猜它在编译器中遇到了一些问题,这不是您的错,请继续调查Erlang:)

您可以联机更改此编译器

//编辑: 问题可能来自
tutorialspoint
的编辑。它使编译器无法理解函数
spawn/3
,请为
spawn/3
函数添加双路径
'
,如下所示,它将编译并运行:

 Pid = 'spawn'(?MODULE, call, ["hello","world"] ),

如果在线编译器对此代码给出错误,那么它是错误的。请提供您使用的在线编译(web?)。如果在线编译器对此代码给出错误,那么它是错误的。请提供您使用的在线编译(web?)。这很奇怪。。。。我尝试了tutorialspoint,如果您将
spawn
更改为
apply
,那么它将编译并运行……这很奇怪。。。。我尝试了tutorialspoint,如果您将
spawn
更改为
apply
,那么它将编译并运行。。。