1. 方法 方法使用 def 定义: def 方法名(参数名:参数列表,…) :返回值类型 = { 方法结构体 } scala> def add(x : Int ,y : Int):Int = x+y add: (x: Int, y: Int)Int // 返回值可以省略,Scala编译器可以通过值的类型推断出变量的类型 scala> def subtract(x : Int,y : Double) = x-y subtract: (x: Int, y: Double)Double // 当返…
在上一节创建了一个scala类,如果没有更多的方法,scala类的定义还可以更简单一些,看一下下面这个CreditCard类的定义: class CreditCard(val number: Int, var creditLimit: Int) 是的,只用一行就完成了类的定义,连大括号都不需要. 因为scala也是运行在JVM上,可以考虑以java的方式来看看编译后的类文件.查看的方式还是比较灵活的,可以使用JD-GUI,也可以使用javap –private CreditCard命令,还有一个…
http://stackoverflow.com/questions/2529184/difference-between-method-and-function-in-scala A Function Type is (roughly) a type of the form (T1, ..., Tn) => U, which is a shorthand for the trait FunctionN in the standard library. Anonymous Functions a…
class ApplyTest{ def apply() = "This apply is in class" def test{ println("test") } } //放在 object 对象中的方法都是静态方法 //由于 object 中的方法和属性都是静态的,所以就是单例的理想载体 //object 本身就是一个单例对象 object ApplyTest{ var count = 0 def apply() = new ApplyTest def sta…
先从一道题开始看: Eliminate consecutive duplicates of list elements. If a list contains repeated elements they should be replaced with a single copy of the element. The order of the elements should not be changed. Example: scala> compress(List('a, 'a, 'a, 'a…
Scala:fold,foldLeft和foldRight区别与联系 我们来看看最后一个函数:reduce.使用reduce我们可以处理列表的每个元素并返回一个值.通过使用reduceLeft和reduceRight我们可以强制处理元素的方向.(使用reduce方向是不被保证的)译者注:reduce和fold很像,但reduce返回的值的类型必须和列表的元素类型相关(类型本身或其父类),但fold没有这种限制(但与此同时fold必须给定一个初始值),可以说reduce是fold的一种特殊情况.…
第 1 章 scala的概述1 1.1 学习sdala的原因 1 1.2 Scala语言诞生小故事 1 1.3 Scala 和 Java  以及 jvm 的关系分析图 2 1.4 Scala语言的特点 3 1.5 Windows下搭建Scala开发环境 4 1.6 Linux下搭建Scala开发环境 5 1.7 Scala开发工具的介绍 8 1.7.1 idea工具的介绍 8 1.7.2 Scala插件安装 8 1.8 scala的开发的快速入门 10 1.8.1 IDE工具Idea 来开发 “…
基本数据结构 Scala提供了一些不错的集合. 数组 Array 数组是有序的,可以包含重复项,并且可变. val numbers = Array(1, 2, 3, 4, 5, 1, 2, 3, 4, 5) numbers(3) = 10 numbers // Array(1, 2, 3, 10, 5, 1, 2, 3, 4, 5) 列表 List 列表是有序的,可以包含重复项,不可变. val numbers = List(1, 2, 3, 4, 5, 1, 2, 3, 4, 5) numbe…
下了这本<大数据Spark企业级实战版>, 另外还有一本<Spark大数据处理:技术.应用与性能优化(全)> 先看前一篇. 根据书里的前言里面,对于阅读顺序的建议.先看最后的Scala实践三部曲吧. scala学习,我觉得这一段写的很好: object Hello{ def main(args: Array[String]): Unit = { val ret = sum(x=> x*x)(1)(2) println(ret) } def sum(f: Int => I…
文件和正则表达式 摘要: 在本篇中,你将学习如何执行常用的文件处理任务,比如从文件中读取所有行或单词,或者读取包含数字的文件等.本篇的要点包括: 1. Source.fromFile(...).getLines.toArray输出文件的所有行 2. Source.fromFile(...).mkString以字符串形式输出文件内容 3. 将字符串转换为数字,可以用tolnt或toDouble方法 4. 使用java的PrintWriter来写入文本文件 5. "正则",r是一个Rege…