当前位置:  开发笔记 > 编程语言 > 正文

学习Erlang?speedbump线程,常见,小问题

如何解决《学习Erlang?speedbump线程,常见,小问题》经验,为你挑选了1个好方法。



1> archaelus..:

学习浏览标准文档

一旦您了解了OTP文档的组织方式,就可以更轻松地找到您要查找的内容(您往往需要了解哪些应用程序提供了哪些模块或模块类型).

也只是浏览的应用程序的文档往往是相当有益的-我发现很多非常有用的代码这种方式- ,sys,dbg,toolbar等.

shell erlang和模块erlang之间的区别

Shell erlang与模块erlang略有不同.您无法定义模块功能(仅限于操作),您需要加载记录定义才能使用记录(rr/1)等.学习如何根据匿名函数编写erlang代码有点棘手,但对于使用远程shell进行生产系统工作至关重要.

学习shell和{start,spawn} _link ed进程之间的交互 ​​- 当你运行一些崩溃的shell代码(引发异常)时,shell进程退出并将退出信号广播到你链接到的任何东西.这将关闭你正在处理的新gen_server.("为什么我的服务器进程一直在消失?")

erlang表达式和保护表达式之间的区别

Guard表达式(when子句)不是Erlang表达式.它们可能看起来很相似,但它们完全不同.Guards不能调用任意的erlang函数,只能调用保护函数(length/1,类型测试element/2以及OTP文档中指定的其他函数).警卫成功或失败,没有副作用.另一方面,Erlang表达式可以做他们喜欢的事情.

代码加载

确定代码升级的工作时间和方式,以及让gen_server升级到最新版本的回调模块(code:load(Mod), sys:suspend(Pid), sys:change_code(Pid, Mod, undefined, undefined), sys:resume(Pid).)的咒语.

代码服务器路径(code:get_path/0) - 我无法计算我遇到未定义的函数错误的次数,结果是我忘记将ebin目录添加到代码搜索路径.

构建erlang代码

制定一个有用的emake(make:all/0erl -make)和gnu make组合花了相当长的时间(到目前为止大约三年:).

我目前最喜欢的makefile可以在http://github.com/archaelus/esmtp/tree/master上看到

Erlang发行

获取节点名称,dns,cookie以及其他所有权限,以便能够访问net_adm:ping/1其他节点.这需要练习.

远程shell IO错综复杂

记住要传递group_leader()io:format远程节点上运行的调用,以便输出显示在shell中而不是神秘地消失(我认为SASL报表浏览器rb在通过远程shell连接使用时将其部分输出发送到错误的节点仍有问题)

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有