Linux 简单的Erlang示例赢得';t运行(错误)

Linux 简单的Erlang示例赢得';t运行(错误),linux,functional-programming,erlang,Linux,Functional Programming,Erlang,各位下午好 我最近对Erlang和函数式编程产生了兴趣。我试图在不打开Erlang shell的情况下运行这个简单的hello world示例。我能够在MACOSX(约塞米蒂)上成功运行它,但我想改用我的Fedora20VM。因此,在Fedora(Linux)(甚至Windows 7)中,我在尝试运行编译后的beam时出现以下错误: {"init terminating in do_boot",{undef,[{heythere,start,[],[]},{init,start_it,1,[]}

各位下午好

我最近对Erlang和函数式编程产生了兴趣。我试图在不打开Erlang shell的情况下运行这个简单的hello world示例。我能够在MACOSX(约塞米蒂)上成功运行它,但我想改用我的Fedora20VM。因此,在Fedora(Linux)(甚至Windows 7)中,我在尝试运行编译后的beam时出现以下错误:

{"init terminating in do_boot",{undef,[{heythere,start,[],[]},{init,start_it,1,[]},{init,start_em,1,[]}]}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
以下是我用来运行文件的开关:

erl -noshell -start -s heythere -init -stop
我甚至替换了“-s”开关,使用“-run”也没用。我可以在shell内部运行模块,但不能在shell外部运行。我做错什么了吗

代码:

我试着在erl_crash.dump中查找,但它有1000多行,我无法理解它的头尾-(


非常感谢大家。

-s
标志中,您指定了一个模块
heythere
,但没有要使用的函数。
erl
默认使用
start
作为函数,但您没有在模块中指定
start
函数,因此
erl
不知道如何运行您的程序。

-s
标志,您指定了一个模块
heythere
,但没有要使用的函数。
erl
默认使用
start
作为函数,但您没有在模块中指定
start
函数,因此
erl
不知道如何运行您的程序。

-s
标志中,您指定了一个module
heythere
,但没有要使用的函数。
erl
默认使用
start
作为函数,但您没有在模块中指定
start
函数,因此
erl
不知道如何运行您的程序。

-s
标志中,您指定了一个模块
heythere
,但没有要使用的函数使用。
erl
默认使用
start
作为函数,但您没有在模块中指定
start
函数,因此
erl
不知道如何运行您的程序。

非常感谢mipadi!这很有效!难怪我的示例只在MACOSX上运行。因为它有一个start函数,而最近的示例没有t!你太好了。:-)非常感谢你,米帕迪!成功了!难怪我的例子只在MACOSX上有效。因为它有一个start函数,而最近的这个例子没有!你真是太好了。:-)非常感谢米帕迪!成功了!难怪我的例子只在MACOSX上有效。因为它有一个start函数,而最近的这个例子没有!你真是太好了。:-)非常感谢米帕迪!成功了!难怪我的例子只在MACOSX上有效。因为它有一个start函数,而最近的这个例子没有!你真是太好了。:-)
-module(heythere).
-export([hello_world/0, this_function/0, both/0]).

hello_world() -> 
  io:fwrite("hello, world\n").

this_function() -> 
  io:fwrite("This is another function...ok~n").

both() ->
  hello_world(),
  this_function().