跳转到内容

Erlang 编程/快速技巧

来自维基教科书,开放的书籍,开放的世界

在刚开始学习或尝试进行快速原型设计时,一个可能减慢你的速度的事情是始终导出函数。相反,你可以使用编译器指令。这使得 Erlang 编程更令人愉快,无需手动输入

 export(function_not_an_other_one/4).

每次添加函数并想要测试它时。相反,你可以使用

 compile(export_all).

完成程序后,可以手动导出所需的元素。

另一个方便的技巧是使用

 42> make:all([load]).

而不是一直编译最新版本。

 43> c(my_module_v17).

还是

 44> c(my_module_v18).

?Module 代码中的代码提供当前模块名称,这在生成时非常有用。

 spawn(?Module, fun_name, arity),

否则,每次更改模块名称时,都需要在每次生成时更改模块名称。如果你想关注一个进程,你可以在注册后监控它。

 45> register(my_loop, spawn(my_module, my_loop, [])).
 46> Mon_my_loop = erlang:monitor(process, my_loop).

一个有用的实用程序函数是 rpc。

 rpc(Dest, Msg) ->
   To ! {self(), Msg},
   receive
     {Dest, Answer} -> Answer
   after 1000 ->
     {Dest, did_not_answer_msg, Msg}
   end.

这有助于保持进程之间的同步命令,避免从错误的进程获取答案。我们强制识别提供答案的进程,顺序排队应该处理剩下的部分。

华夏公益教科书