2011-03-31 61 views
4

我刚刚使用apt-get将Erlang下载到Ubuntu 10.10。我如何运行Erlang附带的示例(可通过apt-get install erlang-examples获得的示例)。我试着去的目录他们存储在何处,编制ball.erl,但我得到这个错误:如何使用erlang实例

ball.bea#: error writing file 
error 

回答

12

其中存储这些例子目录不是普通用户可写。要编译.erl文件,编译器需要能够写出已编译的.beam文件。解决此

一种方法是将文件复制到一个目录,你可以并编译它们有:

$ mkdir erlex 
$ cd erlex 
$ cp /usr/lib/erlang/lib/gs-1.5.11/examples/src/* . 
$ erlc *.erl 

您需要erlang-dev包安装了该工作。

你可以像这样运行ball例如:

$ erl -s ball 

ball这里是模块的名称,Erlang的仿真器默认调用该模块,它是在这种情况下,正确的start/0功能。

但是,您实际上不必编译这些示例。 Ubuntu的erlang-examples包附带他们已经编译:

$ cd /usr/lib/erlang/lib/gs-1.5.11/examples/ebin 
$ erl -s ball 

关闭在每个GUI窗口后,说q().走出模拟器。这对你来说可能看起来很奇怪,除非你意识到Erlang的所有设计都考虑了很长的正常运行时间。模拟器运行的最后一个进程停止的事实并不足以让BEAM模拟器自行关闭。毕竟,其他的东西可能会在同一个模拟器中启动。

+0

太棒了,谢谢! – TheDude 2011-03-31 13:59:39