0 0 0

Scala编程(第3版).epub

幼稚园霸主
6天前 140
我用夸克网盘分享了「Scala编程(第3版).epub」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
Scala编程(第3版) 作者: 【德】Martin Odersky(马丁.奥德斯基)/【美】Lex Spoon(莱·斯彭)/【美】Bill Venners(比尔·凡纳斯) 出版社: 电子工业出版社 出品方: 博文视点 译者: 高宇翔 出版年: 2018-1-1 页数: 832页 定价: 144.00元 装帧: 平装 ISBN: 9787121328428

内容简介

Martin Odersky 是Scala 编程语言的缔造者。他是瑞士洛桑理工学院(EPFL)的教授,同时也是Typesafe, Inc.(已更名为Lightbend)的创始人。他的研究方向是编程语言和系统,更具体地说,就是如何将面向对象和函数式编程风格有机地结合在一起。自2001 年起,他的主要精力集中在设计、实现和改进Scala 上。在此之前,他作为Java 泛型的合作设计者参与了Java 编程语言的开发,同时也是当前javac 参考实现的作者。他还是ACM 院士。 Lex Spoon是Semmle Ltd 的一名软件工程师。他在EPFL 作为博士后围绕着Scala 开展了两年的工作。他拥有Georgia Tech 的博士学位,在那里他的主攻方向是动态编程语言的静态分析。除Scala 外,他还帮助开发了各类编程语言,包括动态语言Smalltalk、科学计算语言X10,以及支撑Semmle 的逻辑编程语言。他和他的夫人一起生活在Atlanta,他们有两只猫和一只吉娃娃。 Bill Venners 是Artima Inc 的主席,Artima 开发者网站(ww.artima.com)的发行人,以及Escalate Software, LLC 的联合创始人。他著有《Inside theJava Virtual Machine》,这是一本面向程序员讲解Java 平台架构和内部实现原理的书。他在《JavaWorld》杂志上的专栏很受欢迎,主题涵盖Java 内部实现、面向对象的设计和Jini。Bill 从Jini 社区创立之初便十分活跃,领导了Jini 社区的ServiceUI 项目,其API 成为Jini 服务事实上的UI 标准。他还是ScalaTest 的主要开发者和设计者,一个面向Scala 和Java 开发者的开源测试工具。 译者简介 高宇翔,资深软件开发工程师和系统架构师,同时也是Scala在国内的早期布道者和实践者,曾译有《快学Scala(第2版)》、《快学Scala》(第1版)和《Scala编程》(第1版)等专业书籍。

作者简介

Martin Odersky 是Scala 编程语言的缔造者。他是瑞士洛桑理工学院(EPFL)的教授,同时也是Typesafe, Inc.(已更名为Lightbend)的创始人。他的研究方向是编程语言和系统,更具体地说,就是如何将面向对象和函数式编程风格有机地结合在一起。自2001 年起,他的主要精力集中在设计、实现和改进Scala 上。在此之前,他作为Java 泛型的合作设计者参与了Java 编程语言的开发,同时也是当前javac 参考实现的作者。他还是ACM 院士。 Lex Spoon是Semmle Ltd 的一名软件工程师。他在EPFL 作为博士后围绕着Scala 开展了两年的工作。他拥有Georgia Tech 的博士学位,在那里他的主攻方向是动态编程语言的静态分析。除Scala 外,他还帮助开发了各类编程语言,包括动态语言Smalltalk、科学计算语言X10,以及支撑Semmle 的逻辑编程语言。他和他的夫人一起生活在Atlanta,他们有两只猫和一只吉娃娃。 Bill Venners 是Artima Inc 的主席,Artima 开发者网站(ww.artima.com)的发行人,以及Escalate Software, LLC 的联合创始人。他著有《Inside theJava Virtual Machine》,这是一本面向程序员讲解Java 平台架构和内部实现原理的书。他在《JavaWorld》杂志上的专栏很受欢迎,主题涵盖Java 内部实现、面向对象的设计和Jini。Bill 从Jini 社区创立之初便十分活跃,领导了Jini 社区的ServiceUI 项目,其API 成为Jini 服务事实上的UI 标准。他还是ScalaTest 的主要开发者和设计者,一个面向Scala 和Java 开发者的开源测试工具。 译者简介 高宇翔,资深软件开发工程师和系统架构师,同时也是Scala在国内的早期布道者和实践者,曾译有《快学Scala(第2版)》、《快学Scala》(第1版)和《Scala编程》(第1版)等专业书籍。

网友热评

堪察加灯塔: 美到哭的语言,以至于让我感觉以往写的语言和程序都成为了shit. darcy27149: 基础,也会深入。800页的大部头,排版不是很喜欢。 高端洋气大黄瓜: 虽然最后几章有点水,单还是目前为止最好的 Scala 编程书籍。

图书目录

序.XXIV 致谢.XXVI 引言.XXIX 第1章 一门可伸缩的语言.1 1.1 一门按需伸缩的语言2 1.2 是什么让Scala能屈能伸?7 1.3 为什么要用Scala?.11 1.4 Scala寻根17 1.5 结语19 第2章 Scala入门20 第1步 使用Scala解释器21 第2步 定义变量22 第3步 定义函数24 第4步 编写Scala脚本26 第5步 用while做循环;用if做判断27 第6步 用foreach和for遍历30 结语32 第3章 Scala入门(续).33 第7步 用类型参数化数组33 第8步 使用列表38 第9步 使用元组42 第10步使用集和映射43 第11步 识别函数式编程风格48 第12步 从文件读取文本行51 结语55 第4章 类和对象.56 4.1 类、字段和方法56 4.2 分号推断61 4.3 单例对象62 4.4 Scala应用程序65 4.5 App特质68 4.6 结语68 第5章 基础类型和操作69 5.1 一些基础类型69 5.2 字面量70 5.3 字符串插值77 5.4 操作符即方法78 5.5 算术操作81 5.6 关系和逻辑操作83 5.7 位运算操作85 5.8 对象相等性86 5.9 操作符优先级和结合性88 5.10 富包装类91 5.11 结语91 第6章 函数式对象.93 6.1 Rational类的规格定义93 6.2 构建Rational94 6.3 重新实现toString方法96 6.4 检查前置条件97 6.5 添加字段98 6.6 自引用.100 6.7 辅助构造方法.101 6.8 私有字段和方法.102 6.9 定义操作符104 6.10 Scala中的标识符.106 6.11 方法重载.108 6.12 隐式转换.111 6.13 注意事项.112 6.14 结语112 第7章 内建的控制结构114 7.1 if表达式.115 7.2 while循环116 7.3 for表达式119 7.4 用try表达式实现异常处理125 7.5 match表达式129 7.6 没有break和continue的日子.131 7.7 变量作用域134 7.8 对指令式代码进行重构.137 7.9 结语.139 第8章 函数和闭包140 8.1 方法.140 8.2 局部函数142 8.3 一等函数144 8.4 函数字面量的简写形式.147 8.5 占位符语法147 8.6 部分应用的函数.149 8.7 闭包.152 8.8 特殊的函数调用形式156 8.9 尾递归.159 8.10 结语163 第9章 控制抽象164 9.1 减少代码重复.164 9.2 简化调用方代码.169 9.3 柯里化.170 9.4 编写新的控制结构173 9.5 传名参数176 9.6 结语.178 第10章 组合和继承179 10.1 一个二维的布局类库179 10.2 抽象类180 10.3 定义无参方法182 10.4 扩展类184 10.5 重写方法和字段186 10.6 定义参数化字段188 10.7 调用超类构造方法.189 10.8 使用override修饰符190 10.9 多态和动态绑定192 10.10 声明final成员.195 10.11 使用组合和继承196 10.12 实现above、beside和toString.198 10.13 定义工厂对象.201 10.14 增高和增宽.204 10.15 放在一起206 10.16 结语207 第11章 Scala的继承关系208 11.1 Scala的类继承关系208 11.2 基本类型的实现机制212 11.3 底类型(bottomtypes).215 11.4 定义自己的值类型.216 11.5 结语219 第12章 特质.220 12.1 特质如何工作220 12.2 瘦接口和富接口224 12.3 示例:矩形对象225 12.4 Ordered特质227 12.5 作为可叠加修改的特质229 12.6 为什么不用多重继承?234 12.7 要特质还是不要特质?238 12.8 结语238 第13章 包和引入240 13.1 将代码放进包里240 13.2 对相关代码的精简访问242 13.3 引入246 13.4 隐式引入.249 13.5 访问修饰符250 13.6 包对象256 13.7 结语257 第14章 断言和测试258 14.1 断言258 14.2 用Scala写测试260 14.3 翔实的失败报告262 14.4 作为规格说明的测试263 14.5 基于性质的测试267 14.6 组织和运行测试268 14.7 结语270 第15章 样例类和模式匹配.271 15.1 一个简单的例子271 15.2 模式的种类276 15.3 模式守卫.286 15.4 模式重叠.287 15.5 密封类289 15.6 Option类型.291 15.7 到处都是模式293 15.8 一个复杂的例子298 15.9 结语306 第16章 使用列表307 16.1 List字面量307 16.2 List类型308 16.3 构建列表.309 16.4 列表的基本操作309 16.5 列表模式.310 16.6 List类的初阶方法312 16.7 List类的高阶方法324 16.8 List对象的方法333 16.9 同时处理多个列表.335 16.10 理解Scala的类型推断算法336 16.11 结语.339 第17章 使用其他集合类340 17.1 序列340 17.2 集和映射.344 17.3 在可变和不可变集合类之间选择352 17.4 初始化集合355 17.5 元组358 17.6 结语361 第18章 可变对象362 18.1 什么样的对象是可变的?362 18.2 可被重新赋值的变量和属性.365 18.3 案例分析:离散事件模拟368 18.4 用于描述数字电路的语言369 18.5 SimulationAPI.372 18.6 电路模拟.376 18.7 结语384 第19章 类型参数化385 19.1 函数式队列385 19.2 信息隐藏.389 19.3 型变注解.392 19.4 检查型变注解397 19.5 下界400 19.6 逆变402 19.7 对象私有数据405 19.8 上界407 19.9 结语410 第20章 抽象成员411 20.1 抽象成员概览411 20.2 类型成员.412 20.3 抽象的val413 20.4 抽象的var414 20.5 初始化抽象的val.415 20.6 抽象类型.423 20.7 路径依赖类型425 20.8 改良类型.428 20.9 枚举429 20.10 案例分析:货币431 20.11结语.441 第21章 隐式转换和隐式参数.442 21.1 隐式转换.442 21.2 隐式规则.445 21.3 隐式转换到一个预期的类型.448 21.4 转换接收端450 21.5 隐式参数.454 21.6 上下文界定460 21.7 当有多个转换可选时463 21.8 调试465 21.9 结语467 第22章 实现列表468 22.1 List类的原理.468 22.2 ListBuffer类475 22.3 List类的实践.476 22.4 外部可见的函数式.479 22.5 结语480 第23章 重访for表达式481 23.1 for表达式483 23.2 N皇后问题.484 23.3 用for推导式进行查询487 23.4 用for推导式进行翻译489 23.5 反过来494 23.6 泛化for表达式495 23.7 结语497 第24章 深入集合类498 24.1 可变和不可变集合.499 24.2 集合的一致性501 24.3 Traversable特质503 24.4 Iterable特质508 24.5 序列型特质Seq、IndexedSeq和LinearSeq.512 24.6 集517 24.7 映射521 24.8 具体的不可变集合类525 24.9 具体的可变集合类.532 24.10 数组539 24.11 字符串544 24.12 性能特征545 24.13 相等性547 24.14 视图548 24.15 迭代器554 24.16 从头创建集合.561 24.17 Java和Scala集合互转.563 24.18 结语564 第25章 Scala集合架构565 25.1 集合构建器565 25.2 抽取公共操作567 25.3 集成新的集合572 25.4 结语588 第26章 提取器589 26.1 示例:提取电子邮箱地址589 26.2 提取器591 26.3 提取0或1个变量的模式594 26.4 提取可变长度参数的模式596 26.5 提取器和序列模式.598 26.6 提取器和样例类的对比599 26.7 正则表达式601 26.8 结语604 第27章 注解.606 27.1 为什么要有注解?.606 27.2 注解的语法607 27.3 标准注解.609 27.4 结语613 第28章 使用XML614 28.1 半结构化数据614 28.2 XML概览615 28.3 XML字面量616 28.4 序列化618 28.5 拆解XML620 28.6 反序列化.622 28.7 加载和保存623 28.8 对XML做模式匹配624 28.9 结语628 第29章 用对象实现模块化编程.629 29.1 问题描述.630 29.2 食谱应用程序631 29.3 抽象634 29.4 将模块拆分成特质.638 29.5 运行时链接640 29.6 跟踪模块实例642 29.7 结语643 第30章 对象相等性645 30.1 Scala中的相等性.645 30.2 编写相等性方法646 30.3 为参数化类型定义相等性660 30.4 如何编写equals和hashCode方法.664 30.5 结语668 第31章 结合Scala和Java669 31.1 从Java使用Scala.669 31.2 注解672 31.3 通配类型.678 31.4 同时编译Scala和Java680 31.5 基于Scala2.12特性的Java8集成681 31.6 结语685 第32章 Future和并发编程686 32.1 天堂里的烦恼687 32.2 异步执行和Try.688 32.3 使用Future.690 32.4 测试Future.705 32.5 结语708 第33章 组合子解析709 33.1 示例:算术表达式.710 33.2 运行你的解析器712 33.3 基本的正则表达式解析器713 33.4 另一个示例:JSON714 33.5 解析器输出717 33.6 实现组合子解析器.723 33.7 字符串字面量和正则表达式.732 33.8 词法分析和解析733 33.9 错误报告.734 33.10 回溯和LL(1)736 33.11 结语.737 第34章 GUI编程.740 34.1 第一个Swing应用程序.740 34.2 面板和布局743 34.3 处理事件.745 34.4 示例:摄氏/华氏转换器.748 34.5 结语750 第35章 SCells试算表752 35.1 可视化框架752 35.2 将数据录入和显示分开755 35.3 公式758 35.4 解析公式.760 35.5 求值765 35.6 操作类库.768 35.7 变更通知.771 35.8 结语775 附录A Unix和Windows环境的Scala脚本.777 关于作者798

Scala编程(第3版).epub"网盘下载"

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件76556431@qq.com投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • 无拖欠
  • Fairy仙女
  • 雁回
  • 折半生傲
  • 未时模样
  • 高傲不是我的错
  • 槐序廿柒
  • 帆布牛仔
  • 吐着烟圈黑了眼圈
  • 风吹屁屁好凉爽
  • 回眸一笑很倾城
  • 你却无回眸
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!