`
strugman
  • 浏览: 21910 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

Programming Erlang 第二章学习笔记

阅读更多

一:开始
    每条语句以一个“.”结束
    Erlang遵守四则表达式的规则
    可以计算很大的数字

二:变量
    1.所有的变量名都必须以大写字母开头
    2.变量只能赋值一次。即变量不能多次赋值,否则会得到一个错误
      首先:用户定义的变量并不是真正意义上的变量;
      其次:"="并不是一个赋值操作符
    3.事实上"="是一个模式匹配操作符,对于一个未绑定变量来讲,它的行为类似与赋值操作
    4.变量有作用域,即多个函数内的同一个变量有不同的值
    5.Erlang中的=号是一个模式匹配操作符
    6.=号的作用是先计算右边的操作数类型,然后与左值的类型匹配
    7.对于一个变量,它只是一种简单的类型。未绑定变量作为左值时先是给它匹配上一个右值类型
    8.=号的右值可以是变量或其他的类型,如序列和列表
    注:由于变量的一次赋值性,在Erlang中没有共享内存,所以便于编写并行化的程序。
三:浮点数
    1. /号返回浮点数除法的商
    2.div 号返回整数除法的商
    3.rem 号返回整数除法的余数
四:原子量(Atoms)
    1.Erlang中atoms用来表示不同的常量
    2.atoms是全局性的
    3.atoms以小写字母开头,后面跟上数字,字符,下划线,或“@”,例如:: red,
       december, cat, meters, yards, joe@somehost, and a_long_name.
    4.atoms可以用单引号引起来,使用这种形式后可以创建大写字符开头的atoms,或
      者包含非数值字符的atoms,例如’Monday’, ’Tuesday’, ’+’, ’*’,
     ’an atom with spaces’
    5.atoms的值只是atom
五:元组(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中称其为匿名变量。
六:列表(list)
    1.list可以用来存储一系列量。
    2.使用[]来创建列表。
    3.可以使用[X|Y]=L来提取L中的最左边的一个值到X,而将剩余的部分赋给Y
      例如:1> ThingsToBuy = [{apples,10},{pears,6},{milk,3}].
            3> ThingsToBuy1 = [{oranges,4},{newspaper,1}|ThingsToBuy].
            4> [Buy1|ThingsToBuy2] = ThingsToBuy1.
            5> [Buy2,Buy3|ThingsToBuy3] = ThingsToBuy2.
      之后则
       Buy1={oranges,4}  
       ThingsToBuy1=[{oranges,4},{newspaper,1},{apples,10},{pears,6},{milk,3}]
       ThingsToBuy2=[{newspaper,1}, {apples,10}, {pears,6}, {milk,3}].
       Buy2= {newspaper,1},   
       Buy3 = {apples,10},
       ThingsToBuy3=[{pears,6}, {milk,3}]
七:字符串(Strings)
    1.字符串实际上是只是一个整数的列表(list)
    2.字符串用双引号标记
    3.当一个列表中的元素都为可打印字符的ASCII码时显示出的就是这个列表对应的字符串。
    4.可以将$号放在一个可显示的字符前时,即可取出该字符的ASCII码
    5.Erlang的字符串中使用的字符集是Latin-1 (ISO-8859-1)
八:1.在shell中输入f()后可以是所有的已经绑定的变量解除绑定

分享到:
评论

相关推荐

    Programming Erlang.pdf

    根据提供的文件信息,我们可以提取并总结出以下几个关键的知识点: ### 1. 关于Erlang编程语言 **Erlang**是一种通用、并发、容错的编程语言...对于希望了解或学习Erlang的开发者来说,这本书是一个宝贵的学习资源。

    programming erlang src code

    《编程Erlang》是Joe ...通过对《编程Erlang》源码的学习,我们可以深入了解Erlang的精髓,掌握如何构建高效、健壮的并发系统,以及如何利用其特性解决实际问题。源码阅读不仅是理论知识的深化,更是实践技能的提升。

    《Programming Erlang》

    通过阅读《Programming Erlang》,读者可以深入了解这些特性,并学习如何运用它们来解决实际问题。书中的例子涵盖了从基本的函数式编程概念到复杂的并发系统设计,对于任何想要涉足Erlang或对函数式编程感兴趣的人来...

    erlang programming

    通过对以上知识点的学习和实践,开发者可以利用Erlang的强大功能来创建高可靠性、高并发的分布式系统。 erlang-book-part1.pdf可能涵盖其中的一些或全部内容,为读者提供全面的Erlang编程指导。

    Pragmatic.Programming.Erlang.2nd.Edition

    ### 关于《Pragmatic Programming ...总之,《Pragmatic Programming Erlang 第二版》是一本非常值得推荐的Erlang学习资料,无论你是刚刚接触Erlang的新手还是想要深入了解Erlang的资深开发者,都能从中获益良多。

    Programming Erlang

    总的来说,《Programming Erlang》是一本全面且深入的教程,对于想要学习或深入了解Erlang编程语言的读者来说,是不可或缺的参考资料。通过阅读本书,你不仅可以掌握Erlang的基本语法,还能了解到如何利用其特性来...

    Programming Erlang second edition

    《Programming Erlang second edition》是Joe Armstrong的经典著作,它是Erlang编程语言领域的权威指南,该书第二版于2013年首次发行。书中不仅覆盖了Erlang的核心语言和框架基础知识,还包括了重要的社区项目,例如...

    Programming Erlang 2nd.pdf

    Concurrency is natural in ...The model of programming that Erlang uses is very similar to how the world works. This makes programming easy. Many programmers have discovered this, as have many companies.

    Concurrent Programming in ERLANG (P1-90)

    **并发编程在Erlang中的应用(Concurrent Programming in ERLANG)** 本标题及描述明确指出了文档的主要内容是关于如何在Erlang语言中进行并发编程。Erlang是一种通用、并发、强类型、垃圾回收的编程语言,特别适用...

    erlang学习相关资料

    Joe的那篇erlang论文 Programming Erlang + 源码包 Erlang Programming Concurrent Programming in Erlang efficiecy guide 资源齐全.希望能帮到你.

    programming-erlang-software-for-a-concurrent-world

    Pragmatic Programmer,Pragmatic Programming,Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers,LLC. Every precaution was taken in the preparation of this book....

    erlang 学习笔记1

    【标题】"Erlang 学习笔记1" 在深入探讨Erlang这一强大的并发编程语言之前,我们先来理解一下Erlang的基本概念。Erlang是由瑞典电信设备制造商Ericsson开发的一种函数式编程语言,它最初设计的目的是为了处理分布式...

    Erlang编程语言The Erlang Programming Language

    这是《 Erlang编程语言》的上一页,我们正在处理中,将那里的所有书籍都转换为新页面。 请再次检查此页面!!!

Global site tag (gtag.js) - Google Analytics