erlang的一些小技巧(不定期更新)

在任意节点热更新代码

rpc:call(Node,c,l,[Mod])

c和l的指的是code,library

 

Erlang Shell隐藏的小技巧

f(). %%把所有绑定变量释放掉
f(Val). %%把Val变量释放掉
v(Line). %%把Line行函数重新执行一次
v(-1). %%把前一行的函数重新执行一次
rr(Module).%%把Module中的Record加载到Shell中,【超有用】
rr("*/*"). %%把在这个子目录下的所有Module里面的Record给加载到Shell里面
rp(Expression).%%把Expression的全部元素给打印到shell里面【超有用】
 rl(). %%列出所有已定义过的Record.rf(RecordName).%%不加载名为RecordName的Record
 %%如果你的code加了debug_info信息【compile:file(Module,[debug_info])】你可以这样看源代码
{ok,{_,[{abstract_code,{_,AC}}]}} = beam_lib:chunks(Beam,[abstract_code]),
io:fwrite("~s~n", [erl_prettypr:format(erl_syntax:form_list(AC))]).

 

h().  %%显示历史记录
v(Line). %%把Line行函数重新执行一次
v(-1). %%把前一行的函数重新执行一次

 

posted @ 2015-01-30 20:03  自由出土文物  阅读(352)  评论(0编辑  收藏  举报