【SCALA】1、我要开始学习scala啦】的更多相关文章

最近开始系统性的学习scala.其实之前使用过scala的,比如我在用Gatling这款性能测试工具的时候就接触到了scala了.Gatling本身就是用Scala写的,而且Gatling的性能测试配置文件本身就是一个scala类,可以随意使用scala甚至是Java提供的各种类库.当时觉得用Gatling特别舒服的原因就在于配置文件强大的表现力.而这种表现力就是由Scala语言提供的. 言归正传,学习Scala还是从最简单的Hello world开始.在Scala官网中显著的标题就是: Obj…
确切来说应该是我打算怎么去学习Scala泛函编程.在网上找不到系统化完整的Scala泛函编程学习资料,只好把能找到的一些书籍.博客.演讲稿.论坛问答.技术说明等组织一下,希望能达到学习目的.关于Scala语言的教材在国内网上还是比较容易找到的:可以到Scala语言官方网站,国内Scala社区网站这些地方去看看了解一下:深一点的参考一下在路上,里面包括了一些泛函编程的概念性内容. 学习编程语言除了语法语意之外还必须透彻了解编程语言的数据结构(data structure):数据结构在实际项目中的角…
Scala开发参照清单 这里列出在开发一个Scala工程中需要参照的资料. 官网网站 http://www.scala-lang.org/ 文档网站 http://docs.scala-lang.org/index.html Cheatsheet http://docs.scala-lang.org/cheatsheets/ 代码风格 http://docs.scala-lang.org/style/ 设计模式 https://wiki.scala-lang.org/display/SYGN/D…
大数据学习过程中,会学习非常多的技术,但SCALA无疑是必不可少,那我们在大数据技术的学习过程中,如何快速的认识scala,并且学习它,感谢科多大数据公司的余老师提供的详细素材,本人整理成章,希望对你们有帮助. 众所周知,Spark支持4门语言,分别为R.Python.Java与Scala,但真正的底层实现语言则是Scala.在我以往的实践分享中,除了Python,我还会利用Scala去实践一遍,而且在面对大规模的数据建模中,我都会推荐去使用Hadoop.Spark去工程开发,充分利用集群的计算…
转换列表:toIterator, toArray,copyToArray List类的toArray方法将递归存放的列表转换为连续存放的数组 Array类的toList方法将连续存放的数组转换为递归存放的列表 scala> val arr = abcde.toArray arr: Array[Char] = Array(a, b, c, d, e) scala> arr.toList res24: List[Char] = List(a, b, c, d, e) copyToArray方法可以…
List列表的基本操作 head方法获得列表的第一个元素 tail方法获得列表除第一个元素之外的其它元素 isEmpty:判断列表是否为空,空的话返回真 last:获得列表最后一个元素 init:获得除最后一个元素之外的元素 reverse:反转列表 前缀与后缀:drop.take.splitAt xs take n 返回xs列表的前n个元素,如果n大于xs.length,则返回整个xs. xs drop n 返回xs列表除前n个元素之外的所有元素,如果n大于xs.length,则返回空列表.…
Scala的变量定义 变量定义 声明一个val变量类似与java的 public static final String 一致,一旦初始化不能改变,和java的泛型类似,Scala会帮我们进行类型推断 如下图所示,一个Scala大致如以下结构: 下面使用shell键入一个命令进行数字运算: scala> 8 * 5+2 res0: Int = 42 可以使用res0,可以在后续继续操作这个变量 scala> 0.5 * res0 res1: Double = 21.0 进行字符串的拼接 sca…
元组可以把固定数量的条目组合在一起以便于作为整体传送.不像数组或列表,元组可以保存不同类型的对象. 元组常用来返回方法的多个值.例如,下面的方法找到集合中的最长单词并返回它的索引: scala> def longestWord(words: Array[String]) = { | var word = words(0) | var idx = 0 | for (i <- 1 until words.length) | if (words(i).length > word.length)…
可变(mutable)集合与不可变(immutable)集合 为了更易于完成不可变集合到可变集合的转换,或者反向转换,Scala提供了一些语法糖.纵使不可变集和映射并不支持真正的+=方法,Scala还是为此提供了+=的语法解释. scala> val people = Set("Nancy", "Jane") people: scala.collection.immutable.Set[String] = Set(Nancy, Jane) scala>…
默认情况下在使用“Set”或“Map”的时候,获得的都是不可变对象.如果需要的是可变版本,需要先写明引用. 如果同一个源文件中既要用到可变版本,也要用到不可变版本的集合或映射,方法之一是引用包含了可变版本的包名: scala> import scala.collection.mutable import scala.collection.mutable 与以往一样, 不可变集可以用Set指代,但现在还可以用mutable.Set指代可变集.举例如下: scala> val mutaSet =…