• 第二章 入门


    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.3 代码地址

    http://pragmaticprogrammer.com/titles/jacrlang/code.html

    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]
    
  • 相关阅读:
    Java访问Oracle服务器
    easyUI之练习
    easyUI之Tree(树)
    easyUI之Messager(消息窗口)
    easyUI之表单
    easyUI之Dialog(对话框窗口)
    easyUI之函数
    easyUI之window窗口
    easyUI之progressbar进度条
    easyUI之slider滑动条框
  • 原文地址:https://www.cnblogs.com/KylinBlog/p/13534504.html
Copyright © 2020-2023  润新知