&**异常错误:Erlang中未定义的函数add:addfunc/0;

&**异常错误:Erlang中未定义的函数add:addfunc/0;,erlang,erlide,Erlang,Erlide,我试图执行一个简单的erlang程序,将两个数字相加。 我正试图在Ubuntu 10.04 LTS上的Eclipse中实现这一点 当我执行这个程序时,我得到的错误如下所示: ** exception error: undefined function add:addfunc/0 如何着手解决此错误?提前谢谢 该程序在erlang shell中执行时工作正常。但是当涉及到eclipse时,它给了我这个错误。不是这个,任何程序都会给我类似的错误。我想我会错过一些关于eclipse配置的东西 编辑:

我试图执行一个简单的erlang程序,将两个数字相加。 我正试图在Ubuntu 10.04 LTS上的Eclipse中实现这一点

当我执行这个程序时,我得到的错误如下所示:

** exception error: undefined function add:addfunc/0
如何着手解决此错误?提前谢谢

该程序在erlang shell中执行时工作正常。但是当涉及到eclipse时,它给了我这个错误。不是这个,任何程序都会给我类似的错误。我想我会错过一些关于eclipse配置的东西

编辑:

总之,这是一个示例添加程序

-module(add). 
-export([addfunc/0]).

addfunc() -> 
    5 + 6.

此消息告诉您模块
add
没有导出的函数
addfunc/0
。 确保要调用的函数的名称与该名称完全相同,不需要任何名称 参数,是 导出时,该模块为 已编译,搜索路径包括已编译的梁文件,并且使用
code:clash()

更新


目前还不清楚erlide(您似乎使用的EclipseErlang插件)是如何编译和运行程序的。尝试使用erlc或在erlshell内部编译源代码。这样,您将有一个更容易控制的环境,您将更好地了解正在发生的事情

如何尝试执行代码

在编辑器中,右键单击并选择“运行方式”->“Erlang应用程序”。启动的VM将自动加载您的项目,并且在编辑/保存文件时将重新加载该项目。启动时,会出现一个控制台,您可以从那里调用代码


如果它仍然不起作用,那么对于
m(add)。

对于尾部递归斐波那契函数,我得到了完全相同的问题,如下所示:

-module(math2).
-export([fibonacci/1]).

fibonacci(0) -> 0;
fibonacci(1) -> 1;
fibonacci(M) -> fibonacci(M-1) + fibonacci(M-2).
最后,我意识到这是一个编译时异常。然后,我在shell上打开了一个新选项卡,并尝试使用erlc而不是erl

$ erlc math2.erl
现在我还可以看到math2.beam文件的创建。 称为斐波那契10:

4> math2:fibonacci(10).
55

成功了

我认为您尚未编译代码,您正在尝试运行该程序

在eclipse中,使用“Run”图标触发运行;这将使您进入控制台窗口中的erl shell。 给你-

cd("C:\Learning_ERL\src").
您应该看到如下输出:

(Learning-ERL@DALAKSHM-MNFSM)7> cd("C:\Learning_ERL\src").
c:/Learning_ERL/src
ok
然后编译代码-

c(add)
您应该在erl外壳上看到类似的内容-

(Learning-ERL@DALAKSHM-MNFSM)10> c(add).
{ok,add}
现在,您应该在与erl源文件-add.erl相同的目录中看到一个名为-add.beam的新文件

add.beam是一个字节码文件


现在您应该能够运行程序而不会出现任何错误

请完整地共享您的代码。