主页 详情

《Elixir程序设计》_(美)DAVETHOMAS著;杜万,黄明信译_13961896_9787121282645

【书名】:《Elixir程序设计》
【作者】:(美)DAVETHOMAS著;杜万,黄明信译
【出版社】:北京:电子工业出版社
【时间】:2016
【页数】:318
【ISBN】:9787121282645
【SS码】:13961896

最新查询

内容简介

第1章 接受现实

编程时应该关注数据转换

借助管道来组合转换

函数是数据转换器

安装Elixir

运行Elixir

iex——交互式Elixir

编译和运行

对阅读本书的建议

练习

换一种方式思考

第一部分 常规编程

第2章 模式匹配

赋值:并非如你所料

更复杂的匹配

轮到你了

用_(下画线)忽略匹配值

每次匹配变量仅绑定一次

轮到你了

从另一个角度来看等号

第3章 不可变性

你已经拥有了(一些)不可变数据

不可变的数据才是已知的

不可变性对性能的影响

复制数据

垃圾回收

用不可变数据编写程序

第4章 Elixir基础

内置类型

值类型

整数

浮点数

原子

区间

正则表达式

系统类型

PID和端口

引用

收集类型

元组

列表

散列表

二进制型

命名、源文件、约定、运算符和其他

真值

运算符

小结

第5章 匿名函数

函数和模式匹配

轮到你了

一个函数,多个函数体

编写更长的代码

轮到你了

能返回函数的函数

记住原始环境的函数

参数化函数

轮到你了

将函数作为参数来传递

&运算符

轮到你了

函数是核心

第6章 模块与命名函数

编译模块

函数体是代码块

轮到你了

函数调用与模式匹配

轮到你了

哨兵子句

哨兵子句的限制

默认参数

轮到你了

私有函数

|>——美妙的管道运算符

模块

模块指令

import指令

alias指令

require指令

模块属性

模块名:Elixir、Erlang和原子类型

调用Erlang的库函数

寻找函数库

轮到你了

第7章 列表与递归

头部和尾部

使用头部和尾部来处理列表

iex如何显示列表

使用头部和尾部来构造列表

创建映射函数

在递归过程中跟踪值

轮到你了

生成求和函数

轮到你了

更复杂的列表模式

列表的列表

轮到你了

List模块实战

与列表友好相处

第8章 字典:散列表、散列字典、关键字列表、集合与结构体

如何在散列表、散列字典和关键字列表之间做选择

字典

模式匹配和更新散列表

模式匹配不能绑定键

更新散列表

散列表与结构体

访问结构体的另一种方式

嵌套字典结构

嵌套访问器和非结构体

动态(运行时)嵌套访问器

集合

能力越大,诱惑越大

第9章 番外篇——类型是什么

第10章 处理收集——Enum与Stream

Enum——处理收集

关于排序的说明

轮到你了

Stream——延迟处理的枚举类型

流是可组合的枚举器

无限流

自定义流

流在实际中的应用

Collectable协议

推导式

推导式也可以处理二进制位

作用域与推导式

推导式的返回值

轮到你了

感动过往的神

第11章 字符串与二进制型

字符串字面量

Heredoc

魔术符

“字符串”这个名称

单引号字符串——字符编码列表

轮到你了

二进制型

双引号字符串是二进制型

字符串与Elixir库

轮到你了

二进制型与模式匹配

用二进制型来处理字符串

轮到你了

熟悉却又陌生

第12章 控制流

if与unless

cond

case

抛出异常

包含异常的设计

四两拨千斤

轮到你了

第13章 组织项目

项目:从GitHub获取issue

我们的代码将如何工作

任务:用mix来创建我们的新项目

创建项目树

转换:解析命令行

进阶:编写一些基本的测试

轮到你了

转换:从GitHub获取数据

任务:使用外部库

寻找库

为项目添加库

轮到你了

回到转换

转换:转换响应内容

不在hex里的依赖项

应用程序配置

转换:为数据排序

转换:取前n条

轮到你了

转换:格式化表格

任务:创建命令行可执行程序

任务:添加日志

任务:测试代码注释

任务:创建项目文档

使用转换数据的方法来编写代码

轮到你了

第二部分 并发编程

第14章 运用多进程

简单的进程

在进程间发送消息

处理多条消息

递归、循环与栈

进程开销

轮到你了

进程何时结束

关联两个进程

监控进程

轮到你了

并行map——Erlang版本的“Hello,World”

轮到你了

斐波那契数服务器

任务调度器

轮到你了

代理——一个难题

以进程的方式来思考

第15章 节点——分布式服务的关键

命名节点

轮到你了

节点、cookie与安全

给你的进程命名

何时给进程命名

轮到你了

I/O、PID与节点

轮到你了

节点是分布式的基础

第16章 OTP:服务器

一些OTP的定义

OTP服务器

状态和单个服务器

我们的第一个OTP服务器

轮到你了

单向调用

跟踪服务器的执行情况

轮到你了

GenServer回调函数

给进程命名

整理接口

轮到你了

第17章 OTP:应用程序监视器

应用程序监视器与工作进程

轮到你了

管理重启前后的进程状态

应用程序监视器是可靠性的核心

轮到你了

第18章 OTP:应用程序

这不是传统的应用程序

应用程序规范文件

将Sequence程序转变为OTP应用程序

关于应用参数的更多信息

监视是可靠性的基础

轮到你了

热代码交换

OTP很大——难以置信的大

轮到你了

第19章 任务与代理

任务

任务与监视

代理

更大的例子

使其分布式运行

使用代理与任务,还是GenServer

第三部分 更高级的Elixir

第20章 宏与代码求值

实现if语句

宏注入代码

装载次序

quote函数

将内部表示作为代码使用

unquote函数

展开列表——unquote_splicing

回到我们的myif宏

轮到你了

使用绑定来注入值

宏是卫生的

执行代码片段的其他方法

宏与运算符

深入研究

更进一步

轮到你了

第21章 连接多个模块:行为与use

行为

定义行为

声明行为

use与_using_

放到一起——跟踪方法调用

使用use

轮到你了

第22章 协议——多态函数

定义协议

实现协议

可用的类型

轮到你了

协议和结构体

内置协议:Access

内置协议:Enumerable

内置协议:String.Chars

内置协议:Inspect

协议就是多态

轮到你了

第23章 更酷的玩意儿

自定义魔术符

获取选项

轮到你了

多应用的umbrella项目

创建umbrella项目

创建子项目

LineSigil项目

Evaluator项目

连接子项目

别急!还有更多炫酷的玩意儿!

附录A 异常:raise与try,catch与throw

附录B 类型规范与类型检查


书查询(www.shuchaxun.com)本网页唯一编码:
0a9b71c7630a82ffec3a20360387ae37#a876a916cf5156aea323e3cf750cdbb0#33917606#ELIXIR程序设计_13961896.zip