gpt4 book ai didi

syntax - 神秘的 Erlang 错误

转载 作者:行者123 更新时间:2023-12-01 14:37:58 25 4
gpt4 key购买 nike

好吧,我最近开始学习 erlang,但对它不断返回的错误感到困惑。我做了很多更改,但我不断收到错误。据我所知,语法是正确的,但显然我做错了什么。看看...

-module(pidprint).
-export([start/0]).

dostuff([]) ->
receive
begin ->
io:format("~p~n", [This is a Success])
end.

sender([N]) ->
N ! begin,
io:format("~p~n", [N]).


start() ->
StuffPid = spawn(pidprint, dostuff, []),
spawn(pidprint, sender, [StuffPid]).

基本上我想编译脚本,调用 start,生成“dostuff”进程,将其进程标识符传递给“sender”进程,然后将其打印出来。最后,我想使用在生成它时最初传递给发件人的进程标识符将原子“开始”发送到“dostuff”进程。

当我尝试使用 c() 编译脚本时,不断出现错误。他们在这里..

./pidprint.erl:6: syntax error before: '->'
./pidprint.erl:11: syntax error before: ','

我做错了什么?

最佳答案

appears begin 是 Erlang 中的保留字。使用其他一些原子或在其周围加上单引号:“开始”。

此外,您忘记了“这是成功”的双引号。

我还修复了一些其他错误...

-module(pidprint).
-export([start/0, dostuff/0, sender/1]).

dostuff() ->
receive
'begin' ->
io:format("~p~n", ["This is a Success"])
end.

sender(N) ->
N ! 'begin',
io:format("~p~n", [N]).

start() ->
StuffPid = spawn(pidprint, dostuff, []),
spawn(pidprint, sender, [StuffPid]).

关于syntax - 神秘的 Erlang 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3058890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com