Erlang 研究相关

Summary: Author: 张亚飞 | 阅读时间: 2 minute read | Published: 2015-09-11
Filed under Categories: LinuxTags: Note,

Erlang 研究相关

比较好的 Erlang 开发者博客及文档


系统预定义的宏:
?MODULE 表示当前模块名
?MODULE_STRING 同上,但是以字符串形式
?FILE 当前模块的文件名
?LINE 调用的当前代码行数
?MACHINE 机器名
要知道一个节点ping通么:
net_adm:ping(Nodes).-> pong |pang
node() 返回本节点名
nodes() 返回所有其它节点名.
  • [pong:成功 |pang: 失败]

常用方法

  • erlang:is_porcess_alive(Pid) 判断进程是否终止
erlang:is_porcess_alive(Pid)

返回false,说明进程已经停止

判断当前节点是否存活

  • net_kernel:connect_node(‘foo@roger-pc’).

能否联通某个节点


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))]).

收藏 * Erlang 与 WebSocket 之间的通讯交互 * erlang 解析 xml 格式数据 * Erlang 的 dict 模块函数方法介绍 * 用 rebar 来构建. 编译. 测试. 发布 Erlang 应用程序


dict() 弃用

/data/home/coam/Server/Run/Erlang/ejabberd/deps/emysql/src/emysql_conn_mgr.erl:43: type dict() undefined

使用 Use dict:dict() instead of dict() #2


gen_server


Comments

Cor-Ethan, the beverage → www.iirii.com