• 《Erlang程序设计》第二章 入门


    第二章 入门

    第二章 入门

    2.1 概览

    • 2.1.1 阶段1:茫然无绪
      • 安装Erlang
      • 启动Erlang Shell
      • Erlang Shell的基本使用
      • 在文本编辑器中编写Erlang程序
      • 在Erlang Shell中编译和运行程序
    • 2.1.2 阶段2:初窥门径
      • Erlang Shell的高级功能
      • Erlang的各种模块
      • Erlang的自动编译和执行
      • 运用OTP
      • 编写分布式程序
    • 2.1.3 阶段2.5:观其大略, 不求甚解
      第一次通读不需要每一章都学精之后再继续向下进行, 快速通览全貌再各个击破。
    • 2.1.4 阶段3:运用自如
      • 学习Mnesia(Erlang内置的数据库)
      • 学习与其它语言的互相调用
      • 利用OTP构建监控树和启动脚本
      • 运行和优化程序

    2.2 Erlang安装

    # Fedora
    yum install -y erlang
    
    # Mac OS X
    brew install erlang
    

    2.4 启动Shell

    使用erl启动Erlang Shell
    使用q().退出shell

    2.5 整数运算

    表达式需要以"."结尾

    2.6 变量

    变量以大写字母开头

    • 2.6.1 变量不变
      变量只能赋值一次, 此后的赋值操作将执行模式匹配, 遇到与首次赋值内容不同的操作将会提示模式匹配错误, 也就是说Erlang中的变量的值实际是不变的。
    • 2.6.2 模式匹配
      '='在其它语言中为赋值操作, 但在Erlang中为模式匹配操作
    • 2.6.3 单一赋值
      因为变量赋值一次后永不改变, 所以不用担心多个程序同时对可变内容(共享内存)进行修改的问题, 因此更有利于并发程序的编写。

    2.7 浮点数

    1> 5 div 3.
    1
    2> 5 rem 3.
    2
    3> 5 / 3.
    1.6666666666666667
    

    2.8 原子

    原子用来表示不同的非数字常量值, 是一串以小写字母开头, 后跟数字、字母、下划线或邮件符号的字符, 也可以使用单引号引起来的字符, 原子的值即为其本身。

    2.9 元组

    元组是一定数量的项组成的单一的实体, 采用逗号分割若干个值括在花括号中的方式。
    C语言定义坐标系中的点

    struct point
    {
        int x;
        int y;
    } P;
    P.x = 10; P.y = 45;
    

    Erlang中不用类型声明

    P = {10, 45}.
    P = {point, 10, 45}.
    

    获取元组中的字段值使用模式匹配的方式

    # 注意变量需大写字母开头、单一赋值
    1> {point, X, Y} = Point.
    {point,10,45}
    2> {point, X, Y} = P.
    3> X.
    10
    4> Y.
    45
    
    # 使用'_'作为占位符, 只获取需要的变量
    5> {point, _, A} = P.
    {point,10,45}
    6> A.
    45
    

    2.10 列表

    列表用于存储数量可变的项, 采用逗号分割若干个值括在方括号中的方式, 列表中的元素可以是不同的类型。
    列表的第一个元素称为列表的头, 其余称为列表的尾。
    列表操作

    # 定义列表
    1> T = [{apples, 10}, {pears, 6}, {milk, 3}].
    [{apples,10},{pears,6},{milk,3}]
    
    # 添加内容
    2> TAdd = [{oranges, 4} | T].
    [{oranges,4},{apples,10},{pears,6},{milk,3}]
    
    # 提取内容(使用竖线'|'区分头和尾)
    3> [Thead | Ttail] = TAdd.
    [{oranges,4},{apples,10},{pears,6},{milk,3}]
    4> Thead.
    {oranges,4}
    5> Ttail.
    [{apples,10},{pears,6},{milk,3}]
    

    2.11 字符串

    字符串是使用双引号括起来的一串字符, 本质是一个整数列表。

    1> Name = "Hello".
    "Hello"
    2> [83, 117, 114, 112, 114, 105, 115, 101].
    "Surprise"
    3> N = "中文".
    [228,184,173,230,150,135]
    

    Date: 2013-05-26 11:51:46 CST

    Author: matrix

    Org version 7.8.11 with Emacs version 24

    Validate XHTML 1.0
     
     
  • 相关阅读:
    ES6扩展
    javascript当中prototype用法
    三列浮动中间宽度自适应
    介绍axios和promise
    JS高级---实例对象和构造函数之间的关系
    JS-数组常用方法整理
    原生JS轮播图
    JavaScript 开胃菜
    JS高级---遍历DOM树
    JS高级---正则表达式练习身份证号码
  • 原文地址:https://www.cnblogs.com/scheme/p/3099823.html
Copyright © 2020-2023  润新知