标签分类
当前位置:首页 > 行业软件及应用电子书 > Scala电子书网盘下载
Scala学习手册 Scala学习手册
xd大勇

xd大勇 提供上传

资源
15
粉丝
6
喜欢
78
评论
17

    Scala学习手册 PDF 高清版

    Scala电子书
    • 发布时间:

    给大家带来的一篇关于Scala相关的电子书资源,介绍了关于Scala学习、Scala手册方面的内容,本书是由中国电力出版社出版,格式为PDF,资源大小37.8 MB,詹森·斯瓦茨编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.1,更多相关的学习资源可以参阅 行业软件及应用电子书、等栏目。

  • Scala学习手册 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1U5M3aPzPzhUj_IePqL6r3A
  • 分享码:5kg2
  • Scala学习手册 pdf

    为什么学习Scala?你不用变成大数据工程师或分布式计算权威专家,也可以把握这类面向对象编程函数式编程語言。Scala学习培训指南是1本很好用的书,它以浅显易懂的方法对Scala語言干了全方位的详细介绍,还得出了很多英语的语法图、实例和训练来协助你了解书中的內容。最先你将掌握Scala的关键种类和英语的语法,随后会加强学习进阶涵数和不能变的数据结构。

    这书创作者在书中详细介绍了Scala简约并且很有描述性的英语的语法,表述了它的种类安全系数和特性能够保证可靠性,另一个表明了Scala能够迅速运作,可用全部运用。应用场景这种特性,创作者展现了为何Scala会变成愿意提升水准的Ruby或Python开发者的理想化語言。

    这书合适Scala新手阅读文章。

    学习培训关键数据类型、字面上量、值和自变量。

    掌握怎么使用关系式(Scaa英语的语法的基本)思索及其撰写编码。

    撰写接受或回到别的涵数的进阶涵数。

    了解不能变数据结构,运用种类安全性的说明性实际操作轻轻松松地进行转换。

    建立订制的中缀操作符简单化目前实际操作,乃至能够对于你自身的行业撰写特殊的語言。

    搭建包含1个或好几个trait的类来出示充足的可器重性,或是在实例化时混和应用trait建立新作用。

    目录

    • 第一部分 Scala核心
    • 第1章 可扩展语言概述 11
    • 第2章 处理数据: 字面量、 值、 变量和类型 16
    • 第3章 表达式和条件式 34
    • 第4章 函数 51
    • 第5章 首类函数 70
    • 第6章 常用集合 87
    • 第7章 更多集合 109
    • 第二部分 面向对象Scala
    • 第8章 类 139
    • 第9章 对象、 Case类和Trait 167
    • 第10章 高级类型 197

    上一篇:分布式数据库架构及企业实践:基于Mycat中间件  下一篇:数据库索引设计与优化

    展开 +

    收起 -

    Scala相关电子书
    学习笔记
    网友NO.274298

    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) = list splitAt n merged(mergedSort(less)(x), mergedSort(less)(y)) } }def main(args: Array[String]) { val list = List(3, 12, 43, 23, 7, 1, 2, 0) println(mergedSort((x: Int, y: Int) = x y)(list)) } 3、快速排序 def quickSort(list: List[Int]): List[Int] = { list match { case Nil = Nil case List() = List() case head :: tail = val (left, right) = tail.partition(_ head) quickSort(left) ::: head :: quickSort(right) } }def main(args: Array[String]) { val list = List(3, 12, 43, 23, 7, 1, 2, 0) println(quickSort(list)) } 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。 ……

    网友NO.854183

    Scala可变参数列表,命名参数和参数缺省详解

    重复参数 Scala在定义函数时允许指定最后一个参数可以重复(变长参数),从而允许函数调用者使用变长参数列表来调用该函数,Scala中使用“*”来指明该参数为重复参数。例如: scala def echo (args: String *) = | for (arg - args) println(arg)echo: (args: String*)Unit scala echo() scala echo ("One")One scala echo ("Hello","World")HelloWorld 在函数内部,变长参数的类型,实际为一数组,比如上例的String * 类型实际为 Array[String]。 然而,如今你试图直接传入一个数组类型的参数给这个参数,编译器会报错: scala val arr= Array("What's","up","doc?")arr: Array[String] = Array(What's, up, doc?) scala echo (arr)console:10: error: type mismatch; found : Array[String] required: String echo (arr) ^ 为了避免这种情况,你可以通过在变量后面添加 _*来解决,这个符号告诉Scala编译器在传递参数时逐个传入数组的每个元素,而不是数组整体。 scala echo (arr: _*)What'supdoc? 命名参数 通常情况下,调用函数时,参数传入和函数定义时参数列表一一对应。 scala def speed(distance: Float, time:Float) :Float = distance/timespeed: (distance: Float, time: Float)Float scala speed(100,10)res0: Float = 10.0 使用命名参数允许你使用任意顺序传入参数,比如下面的调用: scala speed( time=10,distance=100)res1: Float = 10.0 scala speed(distance=100,time=10)res2: Float = 10.0 缺省参数值 Sc……

    网友NO.510009

    DataFrame:通过SparkSql将scala类转为DataFrame的方法

    如下所示: import java.text.DecimalFormatimport com.alibaba.fastjson.JSONimport com.donews.data.AppConfigimport com.typesafe.config.ConfigFactoryimport org.apache.spark.sql.types.{StructField, StructType}import org.apache.spark.sql.{Row, SaveMode, DataFrame, SQLContext}import org.apache.spark.{SparkConf, SparkContext}import org.slf4j.LoggerFactory /** * Created by silentwolf on 2016/6/3. */ case class UserTag(SUUID: String, MAN: Float, WOMAN: Float, AGE10_19: Float, AGE20_29: Float, AGE30_39: Float, AGE40_49: Float, AGE50_59: Float, GAME: Float, MOVIE: Float, MUSIC: Float, ART: Float, POLITICS_NEWS: Float, FINANCIAL: Float, EDUCATION_TRAINING: Float, HEALTH_CARE: Float, TRAVEL: Float, AUTOMOBILE: Float, HOUSE_PROPERTY: Float, CLOTHING_ACCESSORIES: Float, BEAUTY: Float, IT: Float, BABY_PRODUCT: Float, FOOD_SERVICE: Float, HOME_FURNISHING: Float, SPORTS: Float, OUTDOOR_ACTIVITIES: Float, MEDICINE: Float ) object UserTagTable { val LOG = LoggerFactory.getLogger(UserOverviewFirst.getClass) val REP_HOME = s"${AppConfig.HDFS_MASTER}/${AppConfig.HDFS_REP}" def main(args: Array[String]) { var startTime = System.currentTimeMillis() val conf: com.typesafe.config.Config = ConfigFactory.load() val sc = new SparkContext() val sqlContext = new SQLContext(sc) var df1: DataFrame = null if (args.length == 0) { println("请输入: appkey , StartTime : 2016-04-10 ,StartEnd :2016-04-11") } else { var appkey = args(0) var lastdate = args(1) df1 = loadDataFrame(sqlContext, appkey, "20……

    网友NO.266250

    Scala操作Redis用连接池工具类RedisUtil详解

    本文介绍了Scala 操作Redis,分享给大家,具体如下: package com.zjw.utilimport java.utilimport org.apache.commons.pool2.impl.GenericObjectPoolConfigimport org.apache.logging.log4j.scala.Loggingimport redis.clients.jedis.{Jedis, JedisPool, Response}import redis.clients.util.Poolobject RedisUtil extends Logging { private[this] var jedisPool: Pool[Jedis] = _ def main(args: Array[String]): Unit = { val password = h-{Fc!yJL87_Zkc8S val host = 192.168.100.101 val port = 6379 val timeout = 1000 RedisUtil.init(host, port, timeout, password, 0) //RedisUtil.set(Time.getBytes(), 2018-09-03 09:00:00.getBytes()) //val result = RedisUtil.get(Time.getBytes()) //println(new String(result)) //val map = Map(name- zhangsan,age- 21, gender- male, id- 519099386) //RedisUtil.setCols(hash,map) // val result = RedisUtil.getCols(hash, Array(name, age, xx)).map(x = (x._1, new String(x._2))) // logger.info(result) val result = RedisUtil.bulkGetCols(Array(hash, ss)) logger.info(sresult: ${result}) } def init(host: String, port: Int, timeout: Int, password: String, database: Int = 0): Unit = { jedisPool = new JedisPool(new GenericObjectPoolConfig, host, port, timeout, password, database) } def get(key: Array[Byte]): Array[Byte] = { val jedis = jedisPool.getResource val result: Array[Byte] = jedis.get(key) jedis.close() result } def set(key: Array[Byte], value: Array[Byte]): Boolean = { try { val jedis = jedisPool.getResource jedis.set(key, value) jedis.close() true } catch { case e: Exce……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明