为什么不在Erlang中编译此函数

And*_*y K 1 erlang erlang-shell

我是Erlang的新手,所以请和我在一起。

我正在尝试通过文件erlang来编译此函数animal.erl

module(animal).
help_moi(Animal) ->
    Talk = if Animal == cat -> "miaou";
              Animal == beef -> "meuuuh";
              Animal == dog -> "Wouf";
              Animal == tree -> "treee!";
              true -> "ezfezfezf,"
    end, %blablabla%
    {Animal ,"dit", ++ Talk ++ "!" }. %oh là là là%     
Run Code Online (Sandbox Code Playgroud)

然后我用 erl

c(animal).
Run Code Online (Sandbox Code Playgroud)

这些错误,我正在

1> c(animal).
animal.erl:1: syntax error before: '.'
animal.erl:9: syntax error before: '++'
animal.erl:9: no module definition
error
Run Code Online (Sandbox Code Playgroud)

我试图在google上浏览,但没有太多文档。

有任何想法吗?

leg*_*cia 6

module指令以一个-字符开头:

-module(animal).
Run Code Online (Sandbox Code Playgroud)

和你之间有一个额外的逗号"dit"++ Talk

修复这两件事之后,我得到一个警告,而不是一个错误:

animal.erl:2: Warning: function help_moi/1 is unused
Run Code Online (Sandbox Code Playgroud)

您可能要导出函数,因此可以从模块外部调用它:

-export([help_moi/1]).
Run Code Online (Sandbox Code Playgroud)