2015-12-12 189 views
1

我開始學習Erlang,讀完第一章後在編譯模塊的時候出現了奇怪的錯誤。Erlang模塊編譯

所以,當我嘗試編譯demo.erl

-module(demo). 
-author("alex"). 

-export([double/1]). 

double(Value) -> 
    Value * 2. 

所以我嘗試編譯它

1> m(demo). 

,並得到

** exception error: undefined function demo:module_info/0 

只有這樣,才能編譯爲

make:files(filelib:wildcard("demo.erl")). 

我得到了demo.beam,現在甚至在刪除它(演示)後。開始工作。

任何人都可以向我解釋編譯器的行爲?

回答

6

要編譯從Erlang的外殼的模塊,使用c命令:

1> c(demo). 
{ok,demo} 

m命令是用於檢索有關一個編譯模塊信息:

2> m(demo). 
Module: demo 
MD5: 422cee9099e136c6dec13dd200927c63 
Compiled: December 12 2015, 22:51 
Object file: /tmp/demo.beam 
Compiler options: [] 
Exports: 
     double/1 
     module_info/0 
     module_info/1 
ok