1. 简介
l Erlang是一个并行编程语言和运行时系统,最初由爱立信(Ericsson)于1987年为电信行业所开发。1998年爱立信在改良的MPL(Mozilla Public License)许可下将Erlang发布于开源社区。
l Erlang是:
a) 一种“小众”语言。
b) 一种函数式语言 (变量只能赋值一次)。
c) 一种动态类型语言(变量类型在运行时决定,代码需要编译后才能执行,与Python,Ruby等不一样)。
d) 一种强类型语言。
e) 一种面向并发(Concurrency Oriented)的语言。
2. 特性
l 并发性 - Erlang支持超大量级的并发线程,并且不需要操作系统具有并发机制。
l 分布式 - 一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点)。
l 健壮性 - Erlang具有多种基本的错误检测能力,它们能够用于构建容错系统。
l 软实时性- Erlang支持可编程的“软”实时系统,使用了递增式垃圾收集技术。
l 热代码升级-Erlang允许程序代码在运行系统中被修改。旧代码能被逐步淘汰而后被新代码替换。在此过渡期间,新旧代码是共存的。
l 递增式代码装载-用户能够控制代码如何被装载的细节。
l 外部接口-Erlang进程与外部世界之间的通讯使用和在Erlang进程之间相同的消息传送机制。
3. 数据类型
3.1. 变量
3.1.1. 在erlang中的变量只能被赋值一次,变量第一个字母要是大写的。
3.1.2. 符号”=”是值类型匹配操作(带有赋值的意思)。(pattern matching)
3.1.3. 在erlang中变量是不可变的,也没有共享内存的概念,也没有锁。
3.2. 浮点数
3.2.1. 整数除法示例: 4 div 2。
3.2.2. 求余示例: 5 rem 2。
3.2.3. “/”永远返回浮点数。
3.3. Atoms(原子)
3.3.1. Atoms表示不同的非数字常量值。
3.3.2. 示例: Xss = 'Asss'。
3.4. 元组
3.4.1. 将若干个以逗号分隔的值用一对大括号括起来就形成了一个元组。
3.4.2. 元组示例: Person = {person, {name, joe}, {height, 1.83}, {footsize, 42}}.
3.4.3. 从元组中提取数据:
Point = {point, 10, 45}.
{point, X, Y} = Point.( pattern match)
此后X=10, Y=45.
3.5. 列表
3.5.1. 将若干个以逗号分隔的值用一对方括号括起来,就形成了一个列表。
3.5.2. 示例: ThingsToBuy = [{apple, 10}, {pear, 6}, {milk, 3}].
3.5.3. 列表中的第一个元素叫做列表头,剩下的部分叫做列表尾。一般来说列表头可以是任何东西,列表尾经常是一个列表。
3.5.4. 访问列表头元素是一个非常高效的操作。
3.5.5. 从列表中解析元素:
ThingsToBuy1 = [{oranges, 4}, {newspaper, 1}|ThingsToBuy].
[Buy1|ThingsToBuy2] = ThingsToBuy1.
此后:ThingsToBuy1 = [{oranges,4},{newspaper,1},{apple,10},{pear,6},{milk,3}].
Buy1 = {oranges,4}.
ThingsToBuy2 = [{newspaper,1},{apple,10},{pear,6},{milk,3}].
3.6. 字符串
3.6.1. 在erlang中没有字符串,字符串仅仅是整数列表。用双引号将一串字符括起来就是一个字符串。
3.6.2. 示例:
Name = "Hello".
5>I = $s.
115
8> [I-32, $u, $r, $p, $r, $i, $s, $e].
"Surprise"
分享到:
相关推荐
"Erlang中文基础教程" Erlang 编程语言是一种功能强大且灵活的编程语言,它提供了一个交互式的 shell 环境,允许用户在其中编写和运行代码。 Erlang Shell 是一个命令行交互环境,类似于 UNIX 和 LINUX 系统的...
### Erlang 中文基础教程:理解Erlang Shell与模块函数 #### 1. Erlang Shell:编程者的交互式环境 Erlang Shell是Erlang编程语言提供的一种交互式编程环境,允许开发者直接在命令行中编写、执行Erlang代码并观察...
Erlang是一种专为电信行业开发的并行编程语言和运行时系统,由爱立信公司...虽然本文档提供了Erlang的基础知识,但若要深入学习并使用Erlang进行编程,建议通过系统学习专门介绍Erlang的书籍或资料来获得更全面的了解。
"Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,旨在帮助初学者理解和掌握Erlang的核心概念和特性。 ### 1. 函数式编程基础 Erlang基于函数式编程范式,这意味着程序由纯函数构成,没有副作用。...
这是一本讲解Erlang编程语言的入门指南,内容通俗易懂,插图生动幽默,示例短小清晰,结构安排合理。书中从Erlang的基础知识讲起,融汇所有的基本概念和语法。 这是一本讲解Erlang编程语言的入门指南,内容通俗易懂...
Erlang趣学指南是一本面向初学者的入门书籍,旨在帮助读者从零开始学习Erlang语言的基础知识和编程技巧。 这本书的作者Fred Hébert是一位在一线拥有丰富实战经验的工程师,他通过轻松幽默的文风和清晰的讲解,向...
Erlang是一种面向并发的、函数式编程语言,由瑞典...这两本书结合阅读,将为初学者提供一个全面的Erlang学习路径,从基础语法到高级并发编程技巧,有助于深入理解Erlang语言及其在构建高并发、分布式系统中的强大能力。
在IT行业中,Erlang因其强大的实时性和处理大量并发连接的能力而被广泛应用于电信、互联网基础设施和实时系统。RabbitMQ,一个基于Erlang开发的消息队列系统,是实现异步通信的关键组件。 标题中提到的“Erlang官网...
OTP库提供了许多实用的模块,如gen_server、gen_event和gen_fsm,这些都是Erlang并发编程的基础。 总而言之,Erlang9.rar是一个包含Erlang/OTP 20.0 Windows 64位安装程序的压缩包,主要用于安装Erlang环境,以...
5. **并发与分布式系统支持**:Erlang以其轻量级进程和消息传递为基础的并发模型著名,新版本可能会加强这方面的能力,更好地支持分布式应用程序。 6. **编译器和工具链**:Erlang的编译器和构建工具可能也得到了...
第一部分介绍Erlang语言的基础知识,包括其语法特性、并发模型和错误处理策略。读者将了解Erlang的模式匹配、函数式编程概念以及如何利用轻量级进程进行并发编程。第二部分深入探讨OTP,讲解其设计原则和组件,如...
Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在“erlang programming”这个主题下,我们可以深入探讨以下几个关键知识点: 1. **Erlang语言基础**:Erlang是瑞典...
Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,用于构建高可用性、分布式和实时系统。Erlang因其在处理大量并发连接和容错能力上的优秀表现,广泛应用于电信、银行、互联网服务等领域...
Erlang是一种强大的编程语言,特别适合于构建高并发、分布式和容错性强的系统。...对于那些需要处理大量并发连接和需要高度可靠性的服务,如电信、云基础设施或实时系统,Erlang提供了强大而优雅的解决方案。
总的来说,Erlang B和Erlang C模型是电信系统设计中的基础工具,而提供的计算工具则是将理论转化为实践的关键桥梁。通过这些工具,我们可以更深入地理解通信网络的性能瓶颈,并制定相应的优化方案,以提高服务质量和...
Erlang的虚拟机(VM)即Erlang Runtime System(ERTS),是Erlang系统运行的基础。它支持轻量级进程,提供了高效的并发处理能力。在性能方面,ERTS经过优化,能够在多种硬件架构上高效运行。进行VM的定量分析是了解...
《Erlang程序设计》这本书可能是介绍Erlang基础概念和技术的一本入门书籍,涵盖了变量、数据类型、模式匹配、函数、进程、消息传递等核心概念。书中可能会深入讨论如何在Erlang中编写高效的并发程序,以及其独特的...
在Windows 64位系统上安装Erlang是开发和运行相关应用的基础步骤。 "Erlang Windows 64位 安装包"指的是针对Windows操作系统64位架构的Erlang二进制安装程序。这个特定的版本是v22.0,名为"esl-erlang_22.0_windows...