博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Programming Erlang_CHAPTER2_Basic Erlang 学习笔记(2)。
阅读量:4507 次
发布时间:2019-06-08

本文共 2118 字,大约阅读时间需要 7 分钟。

5.元组(Tuples)

  1.使用tuple可以实现复杂的数据结构

  2.使用封闭的花括号创建tuple,其中的数据项是匿名的

     3.tuples可以嵌套使用
     4.tuple有垃圾回收机制,无需自己整理内存,当变量不使用后可以自动回收空间。
   5.可以将一个tuple绑定到一个变量上,之后这个变量也就有了相同的结构
   6.可以使用将一个结构相同的tuple变量赋值给另一个tuple(不能是tuple变量),则会将tuple变量中的对应值赋给左值tuple中的对应变量。例如Point = {point, 10, 45}.     {point, X, Y} = Point.之后则精确的将10赋给X,45赋给Y。其中的point可以是=号两边精确的匹配,体现=号的匹配作用。
  7. 1> Person={person,{name,{first,joe},{last,armstrong}},{footsize,42}}.
      2> {_,{_,{_,Who},_},_} = Person.

如上,_是一个占位符,这样可以用单个变量提取tuple中的值。在Erlang中称其为匿名变量。

6.列表(List)

  1. 列表用来存储数目可变的东西。

  2. 将若干个以逗号分割的值以[]分开,就形成了一个列表。

  3.列表的定义:

    如果T是一个列表,那么[H|T]也是一个列表。H为头,T为尾。中间|将头和尾分开。[]表示空列表。

  4. 列表好像是一个栈,它的插入读取操作都是从头开始的。

  5. 用模式匹配从头开始操作列表,[X|T] = [1, 2,3]. or [X,Y|T] = [1,2,3,4]。
7.字符与字符串(Characters and Strings)
  1.字符用整型数字代表,字符串用整型数字列表表示。1>$A. 65 2>$A+32. 97 3>$a. 97

  2.Erlang中没有字符串。字符串用ASCII码列表表示:

      4>[65,66,67]. "ABC"

   3.erlang中字符串必须用双引号(“)括起来(单引号是原子),其实质是一个整数的列表.

8.原子与字符串。

  1.原子唯一可以做的操就是比较。而字符串有很多不同的操作。

  2.你可以用字符串来代替原子。

9.比较:

   1.== Equal to                                    1==one.fase; one==ne true;  1==1.0 ture; 1=:=1.0 fase.

   2./=  Not equal to        

     3.=:= Exactly equal to        1=:=1.0 fase     ;             

        4.=/= Exactly not equal to                 1=/=1.0 true     ;

     5.=<  Less than or equal to

     6.<     Less than

     7.>=   Greater than or equal to

     8.>      Greater than

不同类型的比较:

  number<atom<reference<fun<port<pid<tuple<list<binaty

        3>11<ten   true

        4>{123,456}<[]       true

列表比较:比较列表的第一个元素,小的那个列表小。如果第一个元素一样,比较第二个元素,以此类推。

      The first elements are compared,and whichever is smaller indicates the smaller list; if they are the same, the second elements are compared . and so on.when one list is exhausted, that is the smaller list.

        5>[boo,hoo]<[adder,zebra,bee] .   fase

    6>[boo,hoo]<[boo,hoo,adder,zebra,bee]. true

元组的比较:先比较元组中元素的数目,在比较元素的值。

   7>{boo,hoo}<{adder,zebra,bee}. true

   8>{boo,hoo}<{boo,hoo,adder,zebra,bee} .    true

10.变量(Variables)

  变量不变。

11.模式匹配(Pattern Matching)

  1.= 表示一个模式匹配操作。

  2.对变量赋值。

  3.控制程序的执行流程。

  4.提取值在复杂的数据类型。

12.函数(Function)

13.模块(Modules)

  1.函数的集合是模块。

  2.模块用  -module(name)  来命名。

  3.指令 export 包含一系列的函数。这些函数都是全局函数。

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/wkp4666/archive/2012/05/01/2477922.html

你可能感兴趣的文章
AQS独占式同步队列入队与出队
查看>>
修改原代码定制bootstrap
查看>>
idea快捷键
查看>>
shell——bash在线编辑
查看>>
Kth Smallest Element in a BST
查看>>
iOS开发从新手到App Store上架
查看>>
poj--2516--Minimum Cost(最小费用流)
查看>>
ZXV10 H608B V1.1.04T02_JS破解
查看>>
数据可视化是什么
查看>>
强连通分量
查看>>
WinForm应用程序之注册模块的设计与实现
查看>>
spark-Streaming
查看>>
UVa1252
查看>>
[SCOI2014]方伯伯的玉米田 题解(树状数组优化dp)
查看>>
P1011 车站
查看>>
SQL查询语句
查看>>
python网络爬虫-使用Urllib
查看>>
iptables配置管理
查看>>
1.7 本机单步调试(Intellij IDEA)
查看>>
自动化运维:日志系统上线规范(十)
查看>>