如何从shell执行Erlang模块的功能?

时间:2013-03-27 19:49:21

标签: erlang erlang-shell

我有一个新手问题。我正在阅读“Erlang编程”一书,并在每一章之后进行练习。

在我有db.erl模块的情况下,在其中我已经为几个练习放置了几个函数。经过几天的练习后,我已经厌倦了在erl shell中重复“compile-> execute exercise-function”动作。假设我正在使用new()模块中的db.erl函数;每次修改此函数后,我都被迫在erl中执行下一步:

c(db.erl).
db:new().

一次又一次。有时我忘记重新加载我的模块,结果令人困惑。我可以使用以下命令编译/加载OS shell: erl -compile file.erl; erl -make,但我找不到从特定模块运行特定功能的方法。有什么建议吗?

1 个答案:

答案 0 :(得分:5)

您可以使用-eval选项:

$ erl -eval 'io:format("printing ~p~n", [{any, term}]), init:stop()' -noshell
printing {any,term}

在此处阅读文档:http://www.erlang.org/doc/man/erl.html

您只需使用erlc来编译文件:http://erlang.org/doc/man/erlc.html