1.=操作符(模式匹配)

当看到一个表达式像X = 123时,它的意思看似“将整数123赋予变量X”,但这种解读是不

正确的。=不是一个赋值操作符,它实际上是一个模式匹配操作符。与其他函数式编程语言一样,Erlang的变量只能绑定一次。绑定变量的意思是给变量一个值

2. 变量和原子的语法

请注意Erlang的变量以大写字母开头。所以X、This和A_long_name都是变量。以小写字母

开头的名称(比如monday或friday)不是变量,而是符号常量,它们被称为原子(atom)。

3. 元组

如果想把一些数量固定的项目归组成单一的实体,就会使用元组(tuple)。创建元组的方法

是用大括号把想要表示的值括起来,并用逗号分隔它们。

4.列表

列表(list)被用来存放任意数量的事物。创建列表的方法是用中括号把列表元素括起来,

并用逗号分隔它们。

5.逗号、分号、句号

逗号(,)分隔函数调用、数据构造和模式中的参数。

分号(;)分隔子句。我们能在很多地方看到子句,例如函数定义,以及case、if、

try..catch和receive表达式。

句号(.)(后接空白)分隔函数整体,以及shell里的表达式。

有一种简单的方法可以记住这些:想想英语。句号分隔句子,分号分隔子句,逗号则分隔下

级子句。逗号象征短程,分号象征中程,句号则象征长程。

6.fun:基本的抽象单元

Erlang是一种函数式编程语言。此外,函数式编程语言还表示函数可以被用作其他函数的参

数,也可以返回函数。操作其他函数的函数被称为高阶函数(higher-order function),而在Erlang

中用于代表函数的数据类型被称为fun。

7.关卡

关卡(guard)是一种结构,可以用它来增加模式匹配的威力。通过使用关卡,可以对某个

模式里的变量执行简单的测试和比较。假设想要编写一个计算X和Y之间最大值的max(X, Y)函

数。可以像下面这样用关卡来编写它:

max(X,Y)when X>Y -> X;

max(X,Y)-> Y

最新文章

  1. appium依赖pom文件注解
  2. pom.xml 样例
  3. c++之路进阶——bzoj3343(教主的魔法)
  4. P1572: [Usaco2009 Open]工作安排Job
  5. C#之你懂得的反射
  6. TOJ 4325 RMQ with Shifts / 线段树单点更新
  7. 【邮件】imap与pop3的区别
  8. 9.png(9位图)在android中作为background使用导致居中属性不起作用的解决方法
  9. CBO学习----03--选择率(Selectivity)
  10. MFC利用ADO建立access数据源 ---包括访问带access密码与不带access密码两种方式)
  11. python案例——体脂率项目
  12. wrapper induction随笔
  13. PYTHON HTML.PARSER库学习小结--转载
  14. bzoj 2732 射箭 半平面交
  15. logstash处理@timestamp时区
  16. [BZOJ3583]杰杰的女性朋友(矩阵快速幂)
  17. 11g的新特性:SQL Plan Management(SPM)
  18. ie下的布局(layout)和拥有布局(hasLayout)
  19. Attributes.Add用途与用法
  20. 在面试官问你BS和CS区别的时候如何回答??

热门文章

  1. PHP面试题大全(值得收藏)
  2. element UI 调整表格行高
  3. [算法]LeetCode 120:三角形最小路径和
  4. SQL server已经设置为单用户模式,还是无法做分离、属性设置等操作
  5. 适合初学者的Python爬取链家网教程
  6. Thinkphp带表情的评论回复实例
  7. cmdb全总结
  8. Docker基础概念与安装
  9. 高强度学习训练第十天总结:Class文件
  10. CSS边框使用-基础