`
jeast
  • 浏览: 71784 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Erlang基础(一)

 
阅读更多

1.      简介

l  Erlang是一个并行编程语言和运行时系统,最初由爱立信(Ericsson)于1987年为电信行业所开发。1998年爱立信在改良的MPLMozilla Public License)许可下将Erlang发布于开源社区。

l  Erlang是:

a)   一种小众语言。

b)   一种函数式语言 (变量只能赋值一次)。

c)   一种动态类型语言(变量类型在运行时决定,代码需要编译后才能执行,与PythonRuby等不一样)。

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中文基础教程" Erlang 编程语言是一种功能强大且灵活的编程语言,它提供了一个交互式的 shell 环境,允许用户在其中编写和运行代码。 Erlang Shell 是一个命令行交互环境,类似于 UNIX 和 LINUX 系统的...

    erlang 中文基础教程

    ### Erlang 中文基础教程:理解Erlang Shell与模块函数 #### 1. Erlang Shell:编程者的交互式环境 Erlang Shell是Erlang编程语言提供的一种交互式编程环境,允许开发者直接在命令行中编写、执行Erlang代码并观察...

    Erlang基础知识集锦

    Erlang是一种专为电信行业开发的并行编程语言和运行时系统,由爱立信公司...虽然本文档提供了Erlang的基础知识,但若要深入学习并使用Erlang进行编程,建议通过系统学习专门介绍Erlang的书籍或资料来获得更全面的了解。

    erlang编程 Introducing Erlang

    "Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,旨在帮助初学者理解和掌握Erlang的核心概念和特性。 ### 1. 函数式编程基础 Erlang基于函数式编程范式,这意味着程序由纯函数构成,没有副作用。...

    Erlang趣学指南

    这是一本讲解Erlang编程语言的入门指南,内容通俗易懂,插图生动幽默,示例短小清晰,结构安排合理。书中从Erlang的基础知识讲起,融汇所有的基本概念和语法。 这是一本讲解Erlang编程语言的入门指南,内容通俗易懂...

    erlang趣学指南

    Erlang趣学指南是一本面向初学者的入门书籍,旨在帮助读者从零开始学习Erlang语言的基础知识和编程技巧。 这本书的作者Fred Hébert是一位在一线拥有丰富实战经验的工程师,他通过轻松幽默的文风和清晰的讲解,向...

    erlang资源

    Erlang是一种面向并发的、函数式编程语言,由瑞典...这两本书结合阅读,将为初学者提供一个全面的Erlang学习路径,从基础语法到高级并发编程技巧,有助于深入理解Erlang语言及其在构建高并发、分布式系统中的强大能力。

    Erlang官网下载过慢

    在IT行业中,Erlang因其强大的实时性和处理大量并发连接的能力而被广泛应用于电信、互联网基础设施和实时系统。RabbitMQ,一个基于Erlang开发的消息队列系统,是实现异步通信的关键组件。 标题中提到的“Erlang官网...

    erlang9.rar

    OTP库提供了许多实用的模块,如gen_server、gen_event和gen_fsm,这些都是Erlang并发编程的基础。 总而言之,Erlang9.rar是一个包含Erlang/OTP 20.0 Windows 64位安装程序的压缩包,主要用于安装Erlang环境,以...

    erlang22最新下载包

    5. **并发与分布式系统支持**:Erlang以其轻量级进程和消息传递为基础的并发模型著名,新版本可能会加强这方面的能力,更好地支持分布式应用程序。 6. **编译器和工具链**:Erlang的编译器和构建工具可能也得到了...

    两本erlang电子书

    第一部分介绍Erlang语言的基础知识,包括其语法特性、并发模型和错误处理策略。读者将了解Erlang的模式匹配、函数式编程概念以及如何利用轻量级进程进行并发编程。第二部分深入探讨OTP,讲解其设计原则和组件,如...

    erlang programming

    Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在“erlang programming”这个主题下,我们可以深入探讨以下几个关键知识点: 1. **Erlang语言基础**:Erlang是瑞典...

    windows下安装Erlang环境

    Erlang是一种强大的编程语言,特别适合于构建高并发、分布式和容错性强的系统。...对于那些需要处理大量并发连接和需要高度可靠性的服务,如电信、云基础设施或实时系统,Erlang提供了强大而优雅的解决方案。

    erlang23.2版windows64位.zip

    Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,用于构建高可用性、分布式和实时系统。Erlang因其在处理大量并发连接和容错能力上的优秀表现,广泛应用于电信、银行、互联网服务等领域...

    ErlangB和ErlangC计算工具(exe可执行文件+excel两个)

    总的来说,Erlang B和Erlang C模型是电信系统设计中的基础工具,而提供的计算工具则是将理论转化为实践的关键桥梁。通过这些工具,我们可以更深入地理解通信网络的性能瓶颈,并制定相应的优化方案,以提高服务质量和...

    erlang深度分析.pdf

    Erlang的虚拟机(VM)即Erlang Runtime System(ERTS),是Erlang系统运行的基础。它支持轻量级进程,提供了高效的并发处理能力。在性能方面,ERTS经过优化,能够在多种硬件架构上高效运行。进行VM的定量分析是了解...

    erlang书籍

    《Erlang程序设计》这本书可能是介绍Erlang基础概念和技术的一本入门书籍,涵盖了变量、数据类型、模式匹配、函数、进程、消息传递等核心概念。书中可能会深入讨论如何在Erlang中编写高效的并发程序,以及其独特的...

    Erlang Windows 64位 安装包

    在Windows 64位系统上安装Erlang是开发和运行相关应用的基础步骤。 "Erlang Windows 64位 安装包"指的是针对Windows操作系统64位架构的Erlang二进制安装程序。这个特定的版本是v22.0,名为"esl-erlang_22.0_windows...

Global site tag (gtag.js) - Google Analytics