当前位置:首页 > 程序设计 >
《Scala谜题》电子书封面

Scala谜题

  • 发布时间:2019年11月29日 10:47:15
  • 作者: Andrew Phillips 菲利普
  • 大小:70 MB
  • 类别:Scala电子书
  • 格式:PDF
  • 版本:影印版
  • 评分:8.3

    Scala谜题 PDF 影印版

      给大家带来的一篇关于Scala相关的电子书资源,介绍了关于Scala、谜题方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小70 MB, Andrew Phillips 菲利普编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.8。

      内容介绍

      Scala是一种多范式的编程语言,其设计初衷是要整合面向对象编程和函数式编程的各种特性。 《Scala谜题》整合了众多典型的Scala代码示例,深入解密Scala。书中不仅介绍了Scala语言,还介绍了编译器。《Scala谜题》通过有趣的方式带领读者学习并深入理解和掌握Scala。全书共有36个谜题,每一个谜题都可以丰富读者的知识,并能够让读者更深入地了解Scala。 《Scala谜题》适合于对Scala感兴趣的开发者、对JVM平台上的语言以及函数式编程感兴趣的程序员阅读。

      目录

      • 第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实现冒泡排序、归并排序和快速排序的示例代码

      1、冒泡排序 def sort(list: List[Int]): List[Int] = list match { case List() = List() case head :: tail = compute(head, sort(tail)) } def compute(data: Int, dataSet: List[Int]): List[Int] = dataSet match { case List() = List(data) case head :: tail = if (data = head) data :: dataSet else head :: compute(data, tail) }def main(args: Array[String]) { val list = List(3, 12, 43, 23, 7, 1, 2, 0) println(sort(list)) } 2、归并排序 def mergedSort[T](less: (T, T) = Boolean)(list: List[T]): List[T] = { def merged(xList: List[T], yList: List[T]): List[T] = { (xList, yList) match { case (Nil, _) = yList case (_, Nil) = xList case (x :: xTail, y :: yTail) = { if (less(x, y)) x :: merged(xTail, yList) else y :: merged(xList, yTail) } } } val n = list.length / 2 if (n == 0) list else { val (x, y)……

      scala操作数据库的方法实例

      1、定义数据库连接 package com.web.dataSource import com.alibaba.druid.pool.DruidDataSource object MySqlDataSource { val driver = com.mysql.jdbc.Driver val url = jdbc:mysql://127.0.0.1:3306 val username = root val password = root val connectionPool = new DruidDataSource() connectionPool.setUsername(username) connectionPool.setPassword(password) connectionPool.setDriverClassName(driver) connectionPool.setUrl(url) connectionPool.setValidationQuery(select 1) connectionPool.setInitialSize(15) connectionPool.setMinIdle(10) connectionPool.setMaxActive(100) connectionPool.setRemoveAbandoned(true) connectionPool.setRemoveAbandonedTimeoutMillis(180000) connectionPool.setMaxWait(5000) connectionPool.setTestOnBorrow(false) connectionPool.setTestOnReturn(false) } 2、执行查询 def getOptions……

      Scala中的mkString的具体使用方法

      1.mkString()方法的使用: mkString(seq:String)方法是将原字符串使用特定的字符串seq分割。 mkString(statrt:String,seq:String,end:String)方法是将原字符串使用特定的字符串seq分割的同时,在原字符串之前添加字符串start,在其后添加字符串end。 object Test { def main(args: Array[String]): Unit = { var name : String = "Hello LittleLawson" var age :Int = 2 println(name.mkString) println(name.mkString(" "))//separate string with space var str0 = "scala" println(str0.mkString(","))//separate string with comma println(str0.mkString("begin",",","end")) /* 1.mkString is used in the inner List,That is say ,Elements in the list is applied. */ val a = List(1,2,3,4) val b = new StringBuilder() println(a.mkString("List(" , ", " , ")")) }} 执行结……

      scala+redis实现分布式锁的示例代码

      1、redis的底层是单例模式,意思是同一个脚本同一时刻只能有一个线程来执行,利用redis的这个特性来实现分布式锁。 首先实现工具类 package utils import CacheManager /** * redis分布式锁 */object RedisTool { //加锁是否成功标志 val LOCK_SUCCESS:String = "OK" //即当key不存在时,我们进行set操作;若key已经存在,则不做任何操作; val SET_IF_NOT_EXIST:String = "NX" //意思是我们要给这个key加一个过期的设置,具体时间由第五个参数决定。 val SET_WITH_EXPIRE_TIME:String = "PX" val RELEASE_SUCCESS:String = "1" /** * * @param lockKey 锁 * @param requestId 请求标识 * @param expireTime 超期时间 * @param isPersist 临时缓存或者永久缓存 */ def tryGetDistributedLock(lockKey:Stri……

      scala文件操作和网络请求的实操方法

      1、读取文件当中每一行的数据 def main(args: Array[String]): Unit = { //注意文件的编码格式,如果编码格式不对,那么读取报错 val file: BufferedSource = Source.fromFile(F:\\files\\file.txt,GBK); val lines: Iterator[String] = file.getLines() for(line - lines){ println(line) } //注意关闭文件 file.close() } 如果要将文件内容转数组,直接调用toArray即可 2、读取词法单元和数字 如果想将以某个字符或某个正则表达式分开的字符成组读取,可以这么做: def main(args: Array[String]): Unit = { val file: BufferedSource = Source.fromFile(F:\\files\\file2.txt,GBK); val split: Array[String] = file.mkString.split( ) println(split.mkString(\t)) file.close() } 3、读取网络资源、文件写入、控制台操作 1、……

      以上就是本次介绍的Scala电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:DevOps:原理、方法与实践

      下一篇:Visual Basic 2013从入门到精通

      展开 +

      收起 -

      • 《Scala谜题》PDF下载

      Scala相关电子书
      Scala编程思想
      Scala编程思想 完整第2版 立即下载
      Scala编程
      Scala编程 高清第3版

      Scala编程完整版 本书介绍了一种新的编程语言,它把面向对象和函数式编程概念有机结合为整体,从而形成一种完整统一、语义丰富的新思维体系。 本书循序渐进,由浅入深,经作者精心组织

      立即下载
      Scala与Clojure函数式编程模式:Java虚拟机高效编程
      Scala与Clojure函数式编程模式:Java虚拟机高效编程 完整原版

      本书向读者展示了如何采用函数式方案来替代或简化面向对象编程中使用的诸多通用模式,同时还介绍了一些在函数式世界中广泛使用的模式

      立即下载
      Scala并发编程
      Scala并发编程 高清版

      免费的性能午餐已经结束Intel、AMD 和Sparc、PowerPC 等主要的处理器生产厂商,从前使用的提高CPU 性能的传统方法已经走到尽头,单核处理器的主频多年来一直踏步不前,当今主流的CPU 制造技术

      立即下载
      Scala学习手册
      Scala学习手册 高清版

      为什么学习Scala?你无需成为数据科学家或分布式计算专家,也能掌握这种面向对象函数式编程语言。 Scala学习手册 是一本很实用的书,它以通俗易懂的方式对Scala语言做了全面的介绍,还给出

      立即下载
      Scala编程实战
      Scala编程实战 高清版

      Scala编程实战 向读者介绍如何省时省力地使用Scala构建面向对象、函数式、并发应用。书中囊括250个实用技巧以及700多个代码实例,覆盖了开始学习Scala语言、类库和工具时*常见的问题。本书可

      立即下载
      响应式架构(消息模式Actor实现与Scala、Akka应用集成)
      响应式架构(消息模式Actor实现与Scala、Akka应用集成) 高质量中文版

      本书首度剖析其架构理念与实践思路,使用响应式结构通过全方位简化编程工作的各个层面,消除编程复杂性的方式 Actor系统和Actor对象的特点,以及通过Akka框架使它们拥有更强大功能的方式,实现持久化Actor对象

      立即下载
      Spark编程基础:Scala版
      Spark编程基础:Scala版 超清版

      这书是厦门大学创作者精英团队长期性经验交流的结晶体,是在厦门大学《 大数据技术原理与应用 》新手入门互联网大数据教材内容的基本之中撰写的。为了保证实例教程品质,在编著出版纸

      立即下载
      读者留言
      郑子骞

      郑子骞 提供上传

      资源
      35
      粉丝
      40
      喜欢
      154
      评论
      12

      Copyright 2018-2020 xz577.com 码农之家

      本站所有电子书资源不再提供下载地址,只分享来路

      版权投诉 / 书籍推广 / 赞助:QQ:520161757