我有一个新手问题。我正在阅读“Erlang Programming”这本书,并在每章之后做练习。

在我有一个 db.erl 模块的情况下,我在其中放置了几个用于几个练习的函数。经过几天的练习,我已经厌倦了在 erl shell 中重复“编译->执行练习-函数”的 Action 。假设我正在 new() 模块中处理 db.erl 函数;每次修改此函数后,我被迫在 erl 中执行下一步:

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

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

最佳答案

您可以使用 -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

关于erlang - 如何从 shell 执行 Erlang 模块的功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15668105/

10-16 08:47