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