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

本文介绍了ErlangShell中的几个实用小技巧,包括如何在任意节点热更新代码、释放绑定变量、重新执行指定行的函数、加载模块中的记录、打印表达式的全部元素等。这些技巧对于使用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). %%把前一行的函数重新执行一次

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值