编辑推荐
让代码做我们希望它做的事,是一名开发者的基本目的。然而实际上,往往我们自认为已经理解的代码,表现出的行为却和我们的预期相反,这类情况就显得有趣而且很重要了。
本书中的谜题,正是基于这样的场景而衍生出来的,本书收集了众多具有谜题特点的Scala代码示例。这不仅可以用一种寓教于乐的方式更好地理解Scala这一富有表现力的语言,而且可以帮助Scala开发人员认识许多容易忽视的雷区和陷阱,从而避免导致系统中的bug并给开发者带来压力。
本书适合对Scala语言以及函数式编程感兴趣的程序员阅读。
内容简介
Scala是一种多范式的编程语言,其设计初衷是要整合面向对象编程和函数式编程的各种特性。
《Scala谜题》整合了众多典型的Scala代码示例,深入解密Scala。书中不仅介绍了Scala语言,还介绍了编译器。《Scala谜题》通过有趣的方式带领读者学习并深入理解和掌握Scala。全书共有36个谜题,每一个谜题都可以丰富读者的知识,并能够让读者更深入地了解Scala。
《Scala谜题》适合于对Scala感兴趣的开发者、对JVM平台上的语言以及函数式编程感兴趣的程序员阅读。
作者简介
Andrew Phillips和Nermin ?erifovi?都是Scala酷爱者,他们共同维护着Scala谜题网站scalapuzzlers.com 。
目录
目录
第1章 使用占位符 1
可能的结果 1
解释 2
讨论 3
第2章 初始化变量 5
可能的结果 5
解释 6
讨论 7
第3章 成员声明的位置 9
可能的结果 10
解释 10
讨论 12
第4章 继承 14
可能的结果 14
解释 15
讨论 16
解决方法 17
第5章 集合操作 21
可能的结果 21
解释 22
讨论 23
第6章 参数类型 24
可能的结果 25
解释 25
讨论 27
第7章 闭包 29
可能的结果 29
解释 30
讨论 32
第8章 Map表达式 33
可能的结果 33
解释 34
讨论 35
第9章 循环引用变量 37
可能的结果 37
解释 38
讨论 40
第10章 等式的例子 44
可能的结果 45
解释 46
讨论 48
第11章 lazy val 51
可能的结果 51
解释 52
讨论 53
第12章 集合的迭代顺序 54
可能的结果 55
解释 55
讨论 57
第13章 自引用 58
可能的结果 58
解释 58
讨论 60
第14章 Return语句 62
可能的结果 62
解释 63
讨论 64
第15章 偏函数中的_ 67
可能的结果 67
解释 68
讨论 71
第16章 多各参数列表 73
可能的结果 74
解释 74
讨论 76
第17章 隐式参数 78
可能的结果 78
解释 79
讨论 80
第18章 重载 83
可能的结果 84
解释 84
讨论 86
第19章 命名参数和缺省参数 88
可能的结果 89
解释 89
讨论 91
第20章 正则表达式 93
可能的结果 93
解释 94
讨论 95
第21章 填充 97
可能的结果 97
解释 98
讨论 99
第22章 投影 101
可能的结果 101
解释 102
讨论 105
第23章 构造器参数 106
可能的结果 107
解释 107
讨论 109
第24章 Double.NaN 111
可能的结果 111
解释 112
讨论 114
第25章 get Or Else 116
可能的结果 116
解释 116
讨论 118
第26章 Any Args 120
可能的结果 120
解释 121
讨论 122
第27章 null 124
可能的结果 124
解释 125
讨论 127
第28章 Any Val 129
可能的结果 130
解释 130
讨论 132
第29章 隐式变量 135
可能的结果 136
解释 137
讨论 138
第30章 显式声明类型 141
可能的结果 141
解释 142
讨论 143
第31章 View 145
可能的结果 145
解释 146
讨论 147
第32章 to SettoSet 148
可能的结果 148
解释 148
讨论 152
第33章 缺省值 154
可能的结果 155
解释 156
讨论 157
第34章 关于Main 159
可能的结果 160
解释 161
讨论 162
第35章 列表 165
可能的结果 166
解释 166
讨论 168
第36章 计算集合的大小 169
可能的结果 169
解释 170
讨论 171
参考文献 174
作者简介 176
主题索引 177
Scala谜题 电子书 下载 mobi epub pdf txt