【问题标题】:why is this function not compiling in Erlang为什么这个函数没有在 Erlang 中编译
【发布时间】:2020-01-01 11:51:31
【问题描述】:

我是 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à%     

然后我用erl编译它

c(animal).

这些错误,我有

1> c(animal).
animal.erl:1: syntax error before: '.'
animal.erl:9: syntax error before: '++'
animal.erl:9: no module definition
error

我尝试在 google 上查找,但没有太多文档。

有什么想法吗?

【问题讨论】:

    标签: erlang erlang-shell


    【解决方案1】:

    模块指令以- 字符开头:

    -module(animal).
    

    "dit"++ Talk 之间多了一个逗号。

    修复这两个问题后,我收到警告,而不是错误:

    animal.erl:2: Warning: function help_moi/1 is unused
    

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

    -export([help_moi/1]).
    

    【讨论】:

    • 嗨@legoscia,你好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    • 2020-05-28
    • 1970-01-01
    • 2017-07-25
    • 2011-02-11
    相关资源
    最近更新 更多