1.原子
在C语言,类似于全局变量,java中类似于枚举。
Erlang中的原子是全局有效的,而且无需使用宏定义或者包含文件。
(1)原子是一串以小字母开头,后面也可以跟数字字母或者下划线或邮件符号(@)的字符。
(2)使用单引号引起来的字符也是原子。使用这种形式,原子就可以使用大写字母作为开头或者包含非第一条中规定的字符。
(3)一个原子的值就是原子本身。
2.元组
创建一个元组:将若干个以逗号分割的值用一对花括号括起来.类似于C语言中的结构体。
1).用于描述一个人的名字和身高信息元组
Student = {lee,1.75}
2).在erlang中,元组没有类型声明,将创建的元组绑定到变Student.为了更好的描述这个元组,通常使用一个原子作为元组的第
一个元素来标明这个元组所代表的含义。 元组可以嵌套,如果表达一个的详细信息定义:
Student = {student,
{name,lee},
{age,23},
{height,1.75}}.
3).元组引用已绑定的变量:
Eshell V5.6.5 (abort with ^G)
1> Name = {name,lee}.
{name,lee}
2> Age = {age,23}.
{age,23}
3> Student = {student,Name,Age}.
{student,{name,lee},{age,23}}
4).从元组取出字段值:
4> {name,Value} = Name.
{name,lee}
5> Value.
lee
通过模式匹配符'='来完成取值。变量定义时,记得首字母大字,不然erlang会当成原子了。
6> {name,value} = Name.
** exception error: no match of right hand side value {name,lee}
如果是复杂的元组,从中取出所要的值。只需在所要的字段位置上使用变量绑定,不关心的值用符号"_"。
1> Person = {person,{name,{first,alex},{last,lee}},{age,23}}.
{person,{name,{first,alex},{last,lee}},{age,23}}
2> {_,{_,{_,FirstName},_},_} = Person.
{person,{name,{first,alex},{last,lee}},{age,23}}
3> FirstName.
alex
以上就是今天学习的成果,继续努力。
分享到:
相关推荐
8. 数据类型与模式匹配:Erlang具有丰富的数据类型,如原子、列表、元组等,以及强大的模式匹配功能。源码中可以看到如何利用这些特性编写简洁且高效的代码。 9. 面向连接的网络编程:Erlang的inet模块提供了一套...
Erlang支持多种内置数据类型,包括整数、浮点数、原子、列表、元组等。每种数据类型都有其特定用途,例如列表常用于函数式编程中的数据操作,而元组则用于表示固定大小的数据结构。 **1.3 模式匹配** 模式匹配是...
- 通过学习顺序编程的基础,读者可以更好地理解Erlang如何处理数据流和控制结构。 **1.2 数据类型** - Erlang中有多种基本数据类型,如整数、浮点数、原子等。 - 这些类型为构建复杂的数据结构提供了基础。 **1.3 ...
- **1.1 路线图**:介绍了学习Erlang的基本路线图,帮助读者了解学习过程中应该关注的重点。 - **1.2 再次开始**:可能指的是对那些有一定编程基础的读者而言,重新审视Erlang的特性和思维方式。 - **1.3 致谢**...
- **基本操作**:包括启动交互式shell,进行简单的整数和浮点数运算,使用变量、原子、元组、列表等。 - **模式匹配**:Erlang中的一个重要特性是模式匹配,它允许开发者将数据结构中的信息提取出来。 - **模块化...
《Programming Erlang: Software for a Concurrent World》是一本非常好的入门书籍,它不仅介绍了Erlang的基本概念,还提供了丰富的实例和实践指导。此外,还可以参考官方文档和其他在线教程,积极参与社区交流,以...
- **书籍推荐**:《Programming Erlang: Software for a Concurrent World》是一本很好的入门指南,由Erlang之父Joe Armstrong撰写,详细介绍了Erlang的基本概念和编程技巧。 - **在线课程**:许多在线教育平台提供...
Erlang 提供了多种内置数据结构,如列表、元组和二进制数据。此外,还可以自定义数据结构,如树、图等。这些数据结构在实现各种算法和功能时起到关键作用。 ### 7. Lenses, Traversable, Foldable, Category ...
主要数据类型包括原子(Atoms)、整数(Integers)、浮点数(Floats)、字符串(Strings)、列表(Lists)、元组(Tuples)和映射(Maps)。 #### 2.2 函数 Elixir的函数通过函数头定义,函数头包含模式匹配和返回...