Erlang程序设计(第2版)读书笔记:Erlang安装和基础语法

 更新时间:2015年02月08日 09:44:37   投稿:junjie  
这篇文章主要介绍了Erlang程序设计(第2版)读书笔记:Erlang安装和基础语法,需要的朋友可以参考下

正如《代码的未来》中所说,为了充分利用多核,并发变成将成为未来发展的趋势,对于并发编程的支持,Erlang确实是不二之选,Erlang在国内仍然较为小众,经典书籍相对也要少很多,最终选择了《Erlang程序设计 第2版》作为了我的第一本Erlang入门书籍。

Erlang官方网站:http://www.erlang.org/

Erlang安装:

对于Ubuntu和Debian发行版可采用:apt-get install erlang 来安装;

对于其他 UNIX 和 Linux 平台,可以下载源代码并手工构建它,具体如下所示:

Download:http://www.erlang.org/download.html

复制代码 代码如下:

1. 解压源代码:$ tar zxf otp_src_17.3.tar.gz
2. $ cd opt_src_17.3
3. $ ./configure
4. $ make
5. $ make install

Erlang是函数式编程语言,被设计主要用来解决自下而上的编写并发式、分布式、容错、可扩展和软实时系统等问题。

由于之前没有接触过函数式编程,还是从简单的顺序编程一步步来吧。

Erlang进入shell编程环境很简单,与Python类似,在终端直接输入erl即可,退出可使用 Ctrl+c 再输入 a 的方法,但这样可能导致某些数据的破坏,最好使用 q().

注释:%

变量:所有变量名都必须以大写字母开头,变量一经赋值,不许改变,

模式匹配操作:

  Lhs = Rhs 意思是计算右侧的值,然后将结果与左侧的模式相匹配;

  X = Expression,如果X之前没有被赋值,一定会匹配成功,X = AnotherExpression,则只有在Expression = AnotherExpression时才匹配成功,否则匹配失败;

浮点数:

  使用“/”给两个整数做除法时,结果会自动转换为浮点数;

  要从除法里获得整数,必须使用div和rem;例如:5 div 3. 结果为1,5 rem 3. 结果为2;

原子:

  原子被用于表示常量值,具有全局性,原子以小写字母开头,后接一串字母,数字,下划线或@符号;

  原子可以放在单引号中,可以创建以大写字母开头或包含字母数字以外字符的原子,如:‘Monday',‘+',‘a test paper'等,原子的值就是它本身;

元组:

  为了方便理解,元组最好加上标签,例如:{point, 10, 45}.

  创建元组:F = {firstName, joe}. L = {lastName, Tom}. P = {person, F, L}.

  提取firstName:{_, {_, Who}, {_, _}} = P.

列表:

  列表中的各元素可以是任何类型,[H|T]中H为列表头,T为列表尾,例如:

  L = [{name, tom}, 1, 2.0, test, {point, 10, 23}].

  [H|T] = L.

  则,H = {name, tom}, T = [1, 2.0, test, {point, 10, 23}].

字符串:

  字符串字面量就是用双引号围起来的一串字符,例如:

  N = "Hello". "Hello"其实只是一个列表的简写,这个列表包含了代表字符串里各个字符的整数字符代码。

  X = [97, 98, 99] .

  打印出"abc".

  io:format("~w~n", ["abc"]).

  打印出[97, 98, 99]

  [H|T] = "cat".  H = 99, T = "at".

f()让shell忘记现有的任何绑定。

相关文章

  • Erlang中的映射组Map详细介绍

    Erlang中的映射组Map详细介绍

    这篇文章主要介绍了Erlang中的映射组Map详细介绍,本文讲解了创建映射组、更新映射组、两种操作符的区别、映射的增加、删除、获取等内容,需要的朋友可以参考下
    2015-02-02
  • Erlang实现的一个Web服务器代码实例

    Erlang实现的一个Web服务器代码实例

    这篇文章主要介绍了Erlang实现的一个Web服务器代码实例,本文直接给出实现代码,需要的朋友可以参考下
    2015-04-04
  • CentOS 6.5源码安装Erlang教程

    CentOS 6.5源码安装Erlang教程

    这篇文章主要介绍了CentOS 6.5源码安装Erlang教程,本文讲解了源码编译安装的过程和遇到的一些错误处理方法,需要的朋友可以参考下
    2015-01-01
  • Erlang中的socket编程简单例子

    Erlang中的socket编程简单例子

    这篇文章主要介绍了Erlang中的socket编程简单例子,本文给出了TCP服务器echo示例、Tcp 的echo客户端示例、UDP server示例、UDP client 示例,需要的朋友可以参考下
    2015-03-03
  • Erlang语法学习笔记:变量、原子、元组、列表、字符串

    Erlang语法学习笔记:变量、原子、元组、列表、字符串

    这篇文章主要介绍了Erlang语法学习笔记:变量、原子、元组、列表、字符串,本文简明总结了这5种类型的相关知识,需要的朋友可以参考下
    2015-01-01
  • Erlang的一些编程技巧分享

    Erlang的一些编程技巧分享

    这篇文章主要介绍了Erlang的一些编程技巧分享,本文是是实际编程中的个人总结,需要的朋友可以参考下
    2015-01-01
  • Erlang中的注册进程使用实例

    Erlang中的注册进程使用实例

    这篇文章主要介绍了Erlang中的注册进程使用实例,本文给出正常进程通信实例和使用使用注册进程通信实例,需要的朋友可以参考下
    2015-02-02
  • Erlang中遍历取出某个位置的最大值代码

    Erlang中遍历取出某个位置的最大值代码

    这篇文章主要介绍了Erlang中遍历取出某个位置的最大值代码,本文直接给出实现代码,需要的朋友可以参考下
    2015-03-03
  • Erlang初学:Erlang的一些特点和个人理解总结

    Erlang初学:Erlang的一些特点和个人理解总结

    这篇文章主要介绍了Erlang初学:Erlang的一些特点和个人理解总结,本文总结了函数式编程、一切都是常量、轻量进程、进程端口映射及典型缺点等内容,需要的朋友可以参考下
    2015-02-02
  • Erlang IO编程之文件目录操作常用方法小结

    Erlang IO编程之文件目录操作常用方法小结

    这篇文章主要介绍了Erlang IO编程之文件目录操作常用方法小结,本文讲解了常用的文件操作如打开文件、读取文件、写入文件、删除文件等,需要的朋友可以参考下
    2015-01-01

最新评论