Erlang入门手册

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Erlang/OTPR11B文档Erlang/OTPR11Bdocumentationv0.1a2Erlang/OTP官方著DinoWu译Email:linux@263.netlinux@51sun.cn译者注本译文仅供对Erlang感兴趣的朋友学习使用,并非用于商业目的。无论如何请尊重本人的劳动成果。由于原文档很多,我会随翻译的进度更新本译文的版本。而不是全部翻译完之后直接发布最终版本。由于是第一次翻译文档,所以译文中可能出现少量的错误,还希望得到你的谅解和指正,我会在后续的版本中纠正。注:凡章节前注明[#N]的,为其它译者翻译。解释权归原译者所有。如涉及版权问题,请与我联系。相关网站:其它译者[#1]译文由dogstarbaojing.jiao@gmail.com提供-II-目录译者注...........................................................I其它译者..........................................................II第1部分入门......................................................11.1简介.......................................................11.1.1简介...................................................11.1.2其它方面...............................................11.2顺序编程...................................................11.2.1ErlangShell.........................................11.2.2模块和函数.............................................31.2.3元子(Atoms)...........................................61.2.4元组..................................................71.2.5列表..................................................81.2.6标准模块及用户手册.....................................111.2.7将输出写到终端上.......................................111.2.8一个更大的例子.........................................121.2.9变量的匹配、守卫和作用域................................141.2.10更多关于列表.........................................161.2.11If和Case............................................211.2.12内建函数(BIFs).......................................251.2.13复杂函数..............................................271.3并行编程...................................................291.3.1进程..................................................291.3.2信息传递...............................................311.3.3进程名称注册...........................................351.3.4分布式编程.............................................361.3.5一个更大的例子..........................................401.4[#1]健壮性(Robustness鲁棒性)..............................491.4.1超时(Timeouts)........................................491.4.2错误处理...............................................511.4.3增强健壮性之后的大型例子.................................541.5[#1]记录和宏(RecordsandMacros)...........................591.5.1将大型的例子分割在多个文件中..............................591.5.2头文件(HeaderFiles)..................................641.5.3记录(Records).........................................64-III-1.5.4宏(Macros)............................................65第2部分OTP设计原则...............................................662.1概述......................................................662.1.1监督树................................................662.1.2Behaviour............................................662.1.3应用..................................................702.1.4发布..................................................712.1.5发布控制...............................................712.2Gen_ServerBehaviour(文档缺失).............................712.3Gen_FsmBehaviour........................................712.3.1有限状态机.............................................712.3.2实例..................................................722.3.3启动一个Gen_Fsm.......................................732.3.4事情通知...............................................742.3.5超时..................................................742.3.6All状态事件...........................................752.3.7停止函数...............................................752.3.7.1在监督树中.........................................752.3.7.2独立Gen_Fsm.......................................762.3.8处理其它消息...........................................762.4Gen_EventBeheaviour.....................................772.4.1事件处理原则...........................................772.4.2实例..................................................772.4.3启动一个事件管理器......................................782.4.4加入一个事件处理器......................................782.4.5事件通知...............................................792.4.6删除一个事件处理函数.....................................802.4.7停止..................................................802.4.7.1在监督树中.........................................802.4.7.2独占式事件管理器....................................80-IV-第1部分入门1.1简介1.1.1简介这是一个入门指导教你开始使用Erlang。这里所说的每一句都是准确的,但仍是真实的一小部分。比如,我将只会告诉你最简单的语法,而不是所有详细的结构原理。有很多极其简单的东西我会写上*manual*,这就表示这里有很多信息,你可以在Erlang相关的书中找到或是在Erlang参考手册中找得到。我也假设这不是你每一次接触计机算,而且了解编程的最基本的思想。不过不要着急,我并不会假定你是一个有经验的开发人员。1.1.2其它方面文章省略了以下几个方面:●参考●本地错误处理(cache/throw)●单向连接(显示器)●二进制数据处理●列表相关●与外界如何通信,以及/或者port其它语言开发的软件。当然,有一些向导中会单独讲解这个问题。互操作向导●涉及到的极少数Erlang库(如,文件处理)●关于OTP的问题完全被跳过,关于Mnesia数据库的信息在结论中也被省略。●Erlang中的哈杀表。●运行时改变代码。1.2顺序编程1.2.1ErlangShell大多数的操作系统有一个命令行解释器或一个Shell,Unix和Linux有很多,Windows下有一个命令提示行。Erlang也有它自己的Shell,你可以直接写比特(bits)或Erlang代码并评估(运行)它,以查看发生了什么。(seeshell(3))。可以通过打开一个命令行解译器,并输入erl,以启动ErlangShell(在Linux或Unix中)。%erl-1-Erlang(BEAM)emulatorversion5.2[source][hipe]EshellV5.2(abortwith^G)1现在输入2+5.,正如你下面看到的。12+5.72在Windows中,Shell可以通过双击ErlangShell的图标打开。你可能发现Erlangshell有很多行号(如12),它们可以准确的告诉你2+5是7!同时也提示你,你应该通过一个终止符“.”和一个回车来结束你的输入。如果你在shell中输入了错误的东西,在多数的shell中,你可以通过输入退格键(backspace)来删除他们。同时在shell中也有很多编译命令的方式。

1 / 86
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功