编辑 Erlang 应用程序、编译代码并查看运行结果的最快方法是什么?最好在最后一步跳入 Erlang shell。
我目前的新手设置:
- 编译应用程序并启动 erl shell 的脚本。
- 然后我输入 application:start(foo)。
- 当我修复错字时,我使用 c('module') 重新编译模块并重新启动应用程序。
有更快的方法吗?顺便提一句。我选择的编辑器是 Emacs。
编辑 Erlang 应用程序、编译代码并查看运行结果的最快方法是什么?最好在最后一步跳入 Erlang shell。
我目前的新手设置:
有更快的方法吗?顺便提一句。我选择的编辑器是 Emacs。
这是我的设置:
make
在源目录中输入。l()
编译后,我通过输入Erlang shell一次加载所有更改的模块。你可以在这里找到这个和其他一些有用的宏:http ://www.snookles.com/erlang/user_default.erl很少需要重新启动整个 Erlang 应用程序。重新加载更改的模块是一个更常见的用例,通常足以应用您的更改。
关于应用程序启动:如果您的应用程序依赖于其他应用程序,则 application:start() 将失败,直到您启动所有依赖项。因此,编写辅助函数很常见<your-app-name>:start()
。这是一个例子。另一个有用的功能是<your-app-name>:stop()
。
应用所有这些技术后,工作流程将如下所示:
<your-app-name>:start().
l()
你的 Erlang shell。<your-app-name>:stop(), <your-app-name>:start().
编辑和编译由我使用的 IDE(Eclispe with erlide)完成。
我还创建了一个脚本来启动 vm my application 和有用的工具。该脚本仅用于开发时间。
为了重新加载更改的源然后编译 bin,我使用来自 mochiweb 的重新加载器。重新加载器观察 bin 目录,如果有变化,它会加载模块并运行 eunit 测试,如果你有一些内部。
例子:
erl +A 5 +K true -name @127.0.0.1 -pa $PWD/ebin $PWD/test $PWD/deps/*/ebin -boot start_sasl -s reloader -s toolbar -s
你也可以尝试erlbuild。Erlbuild 是一个简单的应用程序,它在 src 目录中查找更改的源文件,如果找到一些文件,它会再次编译并加载模块。加载模块后,erlbuild 运行模块的测试。
您可以在以下位置找到该项目:https ://github.com/ulfa/erlbuild
〜乌尔夫