为什么语法错误会出现在erlang spawn函数调用中 - “语法错误之前:')'”?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么语法错误会出现在erlang spawn函数调用中 - “语法错误之前:')'”?相关的知识,希望对你有一定的参考价值。

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

-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 :)

https://www.tutorialspoint.com/compile_erlang_online.php

您可以在线更改此编译器

https://paiza.io/en/projects/new?language=erlang

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

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

以上是关于为什么语法错误会出现在erlang spawn函数调用中 - “语法错误之前:')'”?的主要内容,如果未能解决你的问题,请参考以下文章

Erlang spawn_link/3 的错误参数错误

sql server中单引号拼接字符串(书写错误会出现错误"浮点值 XXXX 超出了计算机表示范围(8 个字节)。“XX”附近有语法错误。")

为啥这个错误会出现在命令提示符中?

为啥我的 pyqt 信号错误会冻结 ui,直到调用另一个 python 函数

Erlang 并发编程

为啥 PHP 错误会打印两次?