- 浏览: 28670 次
- 性别:
- 来自: 广州
最新评论
shell中内置参数:记得可以在user_default.erl中改写哦。
init:stop() ,q().以一种可控的方式关闭整个erlang系统
ctrl +c可以看到很多信息,(wait for me to understand) 里面有k选项看erlang内部活动及至强制关闭任何故障进程。
ctrl_G简单而强大,是运程控制和在线系统调度的利器。
2. Erlang的数据类型:
数值(整数,及浮点数),二进制中、位串,原子,元组,列表(各字符串),唯一标识(pid,端口,引用),Fun函数
numbers(intergers and floats), binarier/Bitstrings, atoms, tuples,list(and string), unique identifier(pids,ports,references),Funs
为什么有人写代码的时候会在没用的地方用nil 这是一个特殊的atom,便是空列表[]的表示,只点一个字长的内存。
PS:=你慢慢爱上list时,请记住:列表主要用于存放临时数据,(比如当前正在处理的数据容器,编排中间结果,字符串缓冲)要长期存储的数据,要用别的类型(比如二进制串)
没有函数重载,有函数名是不够的,要用函数名+参数个数来确定函数调用。
有没有想过为什么编译一个文件后退出shell,再在这个目录下重启shell会发生什么? 当erlang尝试调用某个尚示加载到系统中的悍,只要能找到与模块名对应的.beam文件,会自动尝试加载。
3. 独立的编译器erlc:一般都是用使用Make外部将构建过程脚本化,直接用erlc在操作系统命令行里启动编译器。
4. 不要用shell器来评测代码的执行效率,要想得出有意义的评测数据,必须把代码写成模块,而不是直接丢到shell里。
5. 用模式匹配去打败种种的选择吧,(+上when的 ->保护式,你就是无敌的选择语句)-----无视if, case的结构存在。吊啊。
6. 高阶函数。这个真心理解太浅了(to_do+强啊,别起章节。
7. 异常与try/catch
erlang的三种异常:
error -----这类的运行时异常,在发生除0错误,匹配运算失败,找不到匹配的子句时会触发,这些异常的特点在于它闪促使进程崩溃,erlang错误日志管理会记录在案的
exit -------通报“进程即将停止”,同时进程崩溃并退出原因告知给其他进程,不会汇报到错误日志管理器。
throw-----处理自定义的情况,记录在案的。 没有捕获则转变为一个原因为nocatch的error异常。
throw(SomeTerm),exit(Reason),erlang:error(Reason).
作为特例:exit(normal)所抛出的异常不会被捕获。
运用 try ---catch
try
some_unsafe_function()
catch
throw :Other ->{got_throw,Other};
exit:Reason -> {got_exit,Reason};
error:Reason -> {got_error,Reason}
end.
try of catch after .....
一个很受用的函数,获取栈轨迹:erlang:get_stacktrace().
8. 传统的catch
catch Expression 对Expresion求值,若能够得出结果,但以此为结果,若发生异常,便将之捕获作为catch结果。
9. 列表速构
[X ||X <- ListofIntegers, X >0].
尽可能的使用列表速构,除了效率因素外,它也是这类运算最紧凑和可读的表达形式。
10.比特语法:要用了再看吧。这太涩了。
11。进程:
1) spawn/1 /3 /4 看资料去,可以远程节点调用哦。
2) spawn_link(...)
3) Ref = monitor(process ,Pid) 进程监视,单向链接,可以让一个进程在不影响目标进程的情况下对目标进程进行监视。
4)exit(Reason) 靠异常来终结进程。
5)exit(Pid,Reason) 直接向 进程发送退出信号。
6) 设置 trap_exit标志。process_flag(trap_exit,true). 这样就无法捕获的信号(kill)外,外来的退出信号都会被转换成无害的消息了。
12. receive
Pattern1 when Guard1 -> Body1;
...
PatternN when GuardN -> BodyN
after Time ->
TimoutBody
end.
超时的是以ms来计算的。
13. 尽力投递所有信号 ,不要怕丢失,(分布式中的网络中断除外)。
14. 进程字典,可以用任何和为键的哈希表,最好不要碰。
发表评论
-
Erlang 简单的节点互连
2014-03-19 23:41 564自己写的游戏跨服初步构架,以后再一点点完善,先记下时间线哈。 ... -
简单erlang节点互连实验
2014-03-10 15:53 769如果erlang:节点test1,test2互连接: 1.节点 ... -
Erlang OTP gen_event (1)
2014-02-26 15:06 1067演示gen_event的运行过程: mod_event_ma ... -
Erlang OTP gen_event (0)
2014-02-26 14:30 1197原英文文档:http://www.erlang.org/erl ... -
erlang efficient guide 3
2013-08-19 22:19 1115* 3 Common Caveats * 3常见 ... -
erlang efficient guide 2
2013-08-18 01:02 8662 The Eight Myths of Erlang Per ... -
fun还是如以前一样狂跩吊么?
2013-08-16 22:26 613fun这么好用。为什么老大在最近都说不要用? gen:cal ... -
emacs 的erlang-flymake
2013-08-14 15:15 1464emacs 设置erlang-flymake erlang- ... -
erlang ets
2013-07-22 23:08 1872参见:http://www.cnblogs.com ... -
erlang的编程规范
2013-03-26 17:17 1956Programming Rules and Conventio ... -
Erlang------Mnesia
2013-03-25 12:49 1708读erlang编程指南Mnesia笔记: 1.mnesia 是 ... -
进程环
2013-03-18 16:48 821编写一个程序,它生成N ... -
匿名函数fun
2012-12-15 16:12 814lists:map(fun/1,[1,2,3]). 小试匿名函 ... -
并发编程实战otp--open telecom platform 一
2012-10-10 23:16 12251.erlang 的进程模型: 并发的基本单位是进程, ... -
learn some erlang
2012-10-09 22:54 721Erlang has this very pragm ... -
erlang语句块的简洁使用
2012-09-25 22:48 678begin end语句块的简洁使用:问题描述:将一堆人 ... -
命令式编程语言的标杆
2012-09-25 09:47 707命令式编程语言的标杆: 1.进程必须是语言的核心; 2.任何进 ... -
emacs与erlang的完美结合
2012-09-23 22:48 12871.在emacs中使用c+x c+z 启动erlang she ...
相关推荐
OTP(Open Telecom Platform)是Erlang编程语言的核心组件,提供了强大的并发处理能力和分布式系统构建框架。这本书以中文版的形式,帮助中文读者更便捷地学习和掌握这一技术。 **Erlang** 是一种面向并发的、函数...
**OTP (Open Telecom Platform) for Windows 64位 25.0.1 版本:ErLang 下载** ErLang是一种高级并发编程语言,由瑞典电信设备制造商Ericsson开发,用于构建高度可靠和可扩展的分布式系统。OTP(Open Telecom ...
OTP,全称是Open Telecom Platform,是Ericsson公司开发的一套用于构建可靠、可扩展、高效并发系统的软件框架。OTP的核心是Erlang编程语言,它提供了强大的并发处理能力和容错机制,使得在分布式系统中实现高可用性...
标题中的"otp-win64-25.3.exe"是一个针对Windows 64位操作系统的 OTP(Open Telecom Platform)软件的可执行文件。OTP是由Ericsson开发的一个开源框架,主要用于构建高度可靠、可扩展和可维护的分布式系统,尤其是...
标题中的"otp-win64_20.1 64位"指的是Erlang的 OTP (Open Telecom Platform) 的一个特定版本,适用于64位Windows操作系统。OTP是Erlang编程语言的核心部分,提供了一个强大的并发框架、分布式计算支持以及故障恢复...
标题 "otp-src-25.3.tar.gz" 暗示了这是一个Erlang的开源平台(Open Telecom Platform,OTP)的源代码压缩包,版本为25.3。OTP是Ericsson公司开发的一个用于构建高可用性、分布式系统的重要框架,它包括了Erlang...
OTP(Open Telecom Platform)是Erlang的一个框架,提供了许多用于构建高度可靠和可扩展系统的工具和库。otp-win64-26.0.exe是Erlang/OTP的Windows 64位安装程序,包含了运行RabbitMQ所需的环境。Erlang以其强大的...
"otp"通常代表Open Telecom Platform,是Erlang语言的一个核心部分,提供了一套完整的开发和部署分布式、容错系统的工具。"win64"则表明这是专为64位Windows操作系统编译的版本。而"21.3"是OTP的版本号,这代表了该...
Erlang/OTP(Open Telecom Platform)是一个面向并发的编程语言和运行环境,由Ericsson AB自1997年起开发并维护。它旨在为构建高可用性、高可扩展性的分布式系统提供支持,特别适用于电信、电子商务、即时通讯、在线...
在这个主题中,我们将深入探讨RabbitMQ 3.8.7版本以及与其配套的Erlang OTP(Open Telecom Platform)23.0版本在Windows环境下的安装过程。 首先,`RabbitMQ 3.8.7`是RabbitMQ服务器的一个稳定版本,它提供了多种...
首先,我们来了解一下Erlang OTP(Open Telecom Platform)。OTP是由Ericsson开发的一套用于构建高度可用、容错且可伸缩的分布式系统的框架和库。Erlang是一种函数式编程语言,因其在处理并发和分布式计算方面的优势...
标题中的"otp_win64_21.3.exe.7z"表明这是一个针对Windows 64位系统的Erlang OTP(Open Telecom Platform)版本21.3的安装程序的压缩文件,采用7-Zip格式进行压缩。OTP是Erlang编程语言的核心组件,提供了进程管理、...
标签"erlang"、"erlang24.0"、"erlang_windows版"进一步明确了这个压缩包的内容,它包含的是Erlang OTP(Open Telecom Platform)的24.0版本,专为Windows操作系统设计。OTP是Erlang的核心库,提供了进程管理、...
OTP(Open Telecom Platform)是Erlang的核心库,包含了许多用于构建可靠分布式系统的工具和库。版本号"20.2"指的是这个特定的OTP版本,每个版本可能包含了新的特性和修复的错误。 描述中提到的是如何在Windows环境...
7. OTP(Open Telecom Platform):OTP是Erlang的标准库,提供了一系列的设计模式和库,包括进程、监督树、应用管理和错误处理等,极大地简化了并发和分布式编程。 8. 监督树(Supervision Trees):OTP中的监督树...
Erlang OTP (Open Telephony Platform) 是一种高级并发编程语言和框架,主要由瑞典电信设备制造商Ericsson开发,用于构建高度可靠、可扩展和实时的分布式系统。Erlang OTP 25.0是该平台的一个版本,特别针对Windows ...
《Erlang和OTP实战》是一本专注于Erlang编程语言和OTP(Open Telecom Platform)框架的专业书籍。这本书深入浅出地介绍了Erlang在分布式系统、并发处理以及高可用性设计中的应用,同时结合 OTP 提供了强大的工具和库...
在Erlang的版本管理中,`kerl`是一个方便的工具,用于构建、安装和管理Erlang/OTP(Open Telecom Platform)的源代码版本。标签"erlang"表明讨论的核心是Erlang语言本身。文件名"otp_src_25.1"代表了OTP的源代码包,...