Erlang Day 1 基础
• 容错,在多核CPU上性能好,因为share nothing,因此并发特别好,concurrency oriented programming
• erlang 支持任意长度的整数计算,不会溢出
• module 和 function名字都必须是小写
• 变量必须以大写字母开头
• 变量实际上是不变的(常量),就和代数(Algebra)一样
• 变量的声明周期是在声明的那个代码单元(Unit)内,没有所谓的全局或者私有
• Erlang 中只有public和private的函数,public的函数是指export出去的,其他的是private的
• 没有protected之类的,因为没有继承,没tmd对象这玩意儿,继承个p啊
• 一个函数的声明是名字加上参数个数,例如start/1,stop/0
Pattern match 模式匹配• 对于 X = 1234:
∘ First, X is not a variable , X 不是一个变量,或者说只能赋值一次的变量
∘ Second, = is not an assignment operator. =不是一个赋值
∘ 实际上, = 应该是一个模式匹配符号. 应该是理解为一个assert,如果不是true的话,就有错误
∘ = 实际作的事情是,计算右边的值,然后和左边的做匹配
• 这样的话,就不会有所谓的side-effect,导致程序工作不正常了
• 在模式匹配时,下划线(_) 表示匿名变量,可以匹配任何值
•
数值计算• 4/2 等于 2.0 , / 总是浮点数计算
• 5 div 3 等于 1 , 5 rem 3 等于 2,整数计算
Atoms 相当于枚举类型• 以小写字母开始,可以有下划线和@符号,如 monday,argan@mydomain
• 或者,用单引号括起来,可以包含其他符号,如大写字母,+,* 等
Tuple 类似于结构体• Person = {argan,29}.
• {Name,Age} = P...
• Name = argan.
• Age = 29.
•
List 列表• 第一个元素,称之为Head,
• []代表空的List
• [H|T] ,将H这个元素放到T的头上,行程一个新的List
• ThingsToBuy = [{apples,10},{pears,6},{milk,3}].
• ThingsToBuy1 = [{oranges,4},{newspaper,1}|ThingsToBuy].
• 通过模式匹配来将List的内容取出,例如:
• [Oranges|ThingsToBuy2] = ThingsToBuy1.
• Oranges = {oranges,4}.
Strings 字符串• 严格来说,本来没有字符串,只有一个整数列表
• 必须用双引号(")括起来
• Name = "hello".
• [83,117,114,112,114,105,115,101] = "Surprise".
• 当一个整数的List里所有的数字刚好代表一个可打印的字符时,那这个List就是一个字符串了
• 用$ 加字符可以取得相对应的ascii码,如$a = 97.
• [$a,$r,$g,$a,$n] = "argan".
• iso-8859-1
• 在erlang的shell里输入f(). 让shellforget所有已经bound的值。
•
分享到:
相关推荐
erlang中文基础教程
erlang基础教程,比较适合初学者学习使用
学习erlang的最基础最好的文档,pdf格式,非常有帮助,希望对有兴趣的很大帮助
本教程目的是告诉你如何快速高效地学习 Erlang 语言。教程中只讲述了 Erlang 的一些简单语法形式,而没有包 括所有复杂难懂的语法形式。此外,语法极大简化后的部分都使用 *manual* 标识出来了。
很好的书,学习erlang必备! 包括基础、初级和中级以及一些高级的内容,适合入门和初中级学习使用。
erlang开发的基础课程,讲述如何使用erlang进行并发编程,erlang开发的详细基础。
本书是为那些具有命令式语言编程基础知识(例如C / C ++,Java,Python,Ruby等)并且可能会或可能不知道函数式编程(例如Haskell,Scala,Erlang)的人们学习Erlang的一种方法。 ,Clojure,OCaml等)。
建议学习实践: 1. 要坚持实践高性能大并发编程的实践 ...2. Erlang基础->OTP高并发编程实践PDF->Elixir 3. 认真实践本书中的知识点, 动手练习, 高并发软件实时大容量的服务器开发可打败C++的大团队开发
1.版本:matlab2019a,内含运行结果,不会运行可私信 2.领域:基础教程 3.内容:Matlab Erlang分布随机数.zip 4.适合人群:本科,硕士等教研学习使用
erlong入门较好的学习资料,对初学者会有很好的帮助。
本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...
erlang基础学习的好资料。 第1章 Erlang教程 串行编程 数据类型 模式识别 内置函数 并发 第2章串行编程 项式 模式匹配 表达式求值 模块系统 函数定义 原语 算术表达式 变量作用域 第3章列表编程 用于...
1. Erlang环境配置。 2. RabbitMQ环境配置。 RabbitMQ采用 Erlang 实现的工业级的消息队列(MQ)服务器,所以在安装rabbitMQ之前,需要先安装Erlang; 在本人另外一个资源中有对应erlang版本,如有需要,可自行下载;...
附带有一些教程来指导你了解基础知识。 学着《七周七种语言》这本书的模式,下面是更简洁的版本。 动态语言 函数式编程语言 Web 语言 秘教语言 浏览器IDE 提升级别 动态语言 厌烦了长时间的编译、渴望一种轻量级的...
集是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型。 2.2 什么是集 集是一群相联系的对象,...
高级java笔试题 GitBlogs(基于 GitHub 的个人博客) 读书,不是非做不可的事。而是想要去做的事。 今后你们可能会碰到很多很多你们不知道的事。...Java、JavaScript、C/C++、Python、Kotlin、Dart、Go、Erlang
1 依赖类型函数式编程语言 2213 2 Idris 的 JVM 字节码后端 216 3 Idris 中的软件基础 174 4 使用 Idris 抽象和配置 X11 的 xmonad 169 5 用于 Idris 编译器的 Erlang 后端 161 6 Idris 的解析器组合器 159 7 Idris ...
3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 4、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于...
1、需要有好的C/C++基础。正所谓“磨刀不误砍柴工”,最开始接触VC时不要急于开始Windows程序开发,而是应该进行一些字符界面程序的编写。这样做的目的主要是增加对语言的熟悉程度,同时也训练自己的思维和熟悉一些...