我开始学习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,现在甚至在删除它之后(演示)。开始工作。
任何人都可以向我解释编译器的行为吗?
答案 0 :(得分:5)
要从Erlang shell编译模块,请使用c
命令:
1> c(demo).
{ok,demo}
shell 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