今天我们将来初步认识Erlang。
首先一个很关心的问题是:我怎么进行Erlang程序的开发啊?
要开发,就要有类似于C语言的GCC这样的编译器的东西,那么Erlang是什么呢?那就是Erlang Shell了。
从官网下载,我的系统是windows,所以下载了一个exe文件。安装起来也是非常方便,直接next,傻瓜式地安装。
安装好之后,就可以双击运行进行Erlang shell的体验了。
介绍一些基本命令:
- 浏览当前目录下文件:ls().
- 浏览上级目录下文件:ls("../").
- 进入某个目录:cd("../../../name").
- 查看当前所在路径:pwd().
- 列出命令帮助:help().
是不是发现和Linux下的同样功能的命令很像,这样也降低了我们的记忆成本,不错,不错。
同时也要注意,Erlang shell下的命令其实都是函数形式的(有()括号和末尾.)。
学习任何编程语言都必须了解如何表示基本数据。Erlang的内置数据类型简单明了,为数也不多,但你可以用它们干很多事。
- 数值(整数和浮点数)
- 二进制串/位串
- 原子
- 元组
- 列表(和字符串)
- 唯一标识符(pid,端口,引用)
- Fun函数
Erlang中的数据通常被称作项式(term)。
整数:
整数的写法没什么特别的,120.,-130,123*123,都可以。另外还可以使用进制表示法,如16#1111(16进制的1111),2#11(2进制的11),最多可以到36进制。
另外,在数字前面加上$号,可以得到这个数字的编码,例如$a,得到的就是97(ASCII码)。
浮点数:
浮点数采用IEEE754-1985标准(很难理解,曾经理解了现在又忘了)。
Erlang的浮点数必须以数字开头,例如 .01是不允许的,你必须写为0.01,其他的如2*(10的1次方)可以写为2.0e1,用到e的时候,e前面必须要有一个.
二进制串/位串:
二进制串就是无符号8位字节的序列。用于存放和处理数据块(通常是读自文件或者通过网络协议接受到的数据)。位串是广义的二进制串,其长度不一定是8的整数倍,如一个半字节共12比特。
二进制串的基本语法如下:
<<0,1,2,...255>> 也就是一个包含在<<>>内的逗号分隔的整数序列,整数序列取值范围为0~255.记住是<<>> 不是< < > >,即不能存在空格。
也可以在里面使用字符串<<“hellow”,"world">>,hello world的每一个字符取值范围都在0~255内。
原子:
在Erlang中,原子是一种仅由字符序列来标识的特殊字符串常量。原子以小写字母开头,如下都是:
ok errorundefined truefalse rRRr@l r44r_56@we
先到这了,接下来就是和C语言数组相似的知识了,得好好说说
列出参考资料:
《Erlang/OTP并发编程实战》第二章