新書推薦:
《
郊庙之外:隋唐国家祭祀与宗教 增订版 (三联·哈佛燕京学术丛书)
》
售價:NT$
480.0
《
小麦文明:“黄金石油”争夺战
》
售價:NT$
445.0
《
悬壶杂记全集:老中医多年临证经验总结(套装3册) 中医医案诊疗思路和处方药应用
》
售價:NT$
614.0
《
无法忍受谎言的人:一个调查记者的三十年
》
售價:NT$
290.0
《
战争社会学专论
》
售價:NT$
540.0
《
剑桥意大利戏剧史(剑桥世界戏剧史译丛)
》
售價:NT$
740.0
《
教育何用:重估教育的价值
》
售價:NT$
299.0
《
理想城市:环境与诗性
》
售價:NT$
390.0
編輯推薦:
《Scala编程(第3版)》是一份Scala编程语言的教程书。书中包含有很多编程例子,这些例子简便易懂易学,你如果认真读下去此书,本书将以一步一个脚印的方式引导你顺利地获得Scala软件开发的能力。通过阅读此书,你能够获得你所需的,并成为一个多产的Scala程序员。本书还可作为一份语言参考书。Scala语言有一个正式的定义,但是语言的定义是以可读性为代价要求精确性的文档。尽管本书并未涵盖Scala的所有细节,但它在你更好地掌控Scala编程之前,作为一本平易近人的语言参考书已足够全面。
內容簡介:
本书由直接参与Scala开发的一线人员编写,因而对原理的解读和应用的把握更加值得信赖。本书面向具有一定编程经验的开发者,目标是让读者能够全面了解和掌握Scala编程语言的核心特性,并能够深入理解Scala这门语言在设计取舍背后的动因。即便是不直接使用Scala或从事一线编程工作的读者,也能从本书学到大量关于函数式和面向对象的编程概念和技巧。
關於作者:
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版)等专业书籍。
目錄 :
序 ........................................................................................................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 构建Rational ................................................................................ 94
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 闭包 .................................................................
內容試閱 :
推荐序
这本书可以说Scala语言里的圣经。很高兴高宇翔将它的第3版也翻译为了中文,对于国内的Scala爱好者来说真的是一个福音。
回想起七八年前,刚开始学习Scala时市场上还没有一本中文版的书。阅读英文版《Programming in Scala》的过程还是蛮费力的,即便我当时已经有很多年的Java编程经验。当时函数式编程的影响还比较弱,主流的编程风格还是命令式的(当然目前也依然是,但主流的编程语言里也开始越来越多地融入了函数式的风格),函数式编程里有很多陌生的概念是之前未曾了解过的,阅读的过