SCALA常规练习B】的更多相关文章

package com.hengheng.scala abstract class Animal { def walk(speed : Int) def breathe() = { println("Aninamal breathes.") } } trait Flyable { def hasFeather = true def fly } trait Swimable { def swim } class FishEagle extends Animal with Flyable…
package com.hengheng.scala class Point(val x : Int, val y : Int) { val isOriginal : Boolean = { x == 0 && y == 0 } } class TalkPoint(x : Int, y : Int) extends Point(x, y) { def talk() = { println("My position is (" + x + "," +…
package com.hengheng.scala import scala.util.control.Breaks._ import scala.util.Random object Application{ def main(args : Array[String]) { println("Hello, World!") println(addSayHelloFirst(5, 10)) val I = List(1, 2, 3) I.map((i) => { println…
下了这本<大数据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…
一.算术和操作符重载 a + b 是如下方法的简写: a.+(b) 在scala中你可以使用任何符号来为方法命名.比如BigInt类就定义了一个/%的方法,该方法返回一个对偶,对偶的内容是除法操作得到的商和余数. 通常来说,你可以用 a 方法 b 作为以下代码的简写 a.方法(b) 这里的方法是一个带有两个参数的方法(一个隐式的和一个显示的).例如1.to(10)可以简写成1 to 10 scala语言并没有提供++和--操作符,我们需要使用+=1和-=1 scala认为Int类是不可变的. 对…
一.REPL scala解释器读到一个表达式,对它进行求值,将它的打印出来,接着再继续读下一个表达式.这个过程被称作 读取-打印-循环,即REPL. 从技术上讲,scala程序并不是一个解释器.实际发生的是,你输入的内容被快速的编译成字节码,然后这段字节码交由java虚拟机执行.正因如此,大多数scala程序员更倾向将它称作REPL. 二.声明值 2.1val定义的值实际上是一个常量,你无法改变它的内容. scala> val result = * result: Int = scala> r…
The Neophyte's Guide to Scala Part 12: Type Classes 过去的两周我们讨论了一些使我们保持DRY和灵活性的函数式编程技术,特别是函数组合,partial function的应用,以及currying.接下来,我将会继续讨论如何使你的代码尽可能的灵活. 但是,这次我们将不会讨论怎么使用函数作为一等对象来达到这个目的,而是使用类型系统,这次它不是阻碍着我们,而是使得我们的代码更灵活:你将会学到关于 type classes 的知识. 你可能会觉得这是一…
Scala的actor提供了一种基于事件的轻量级线程.只要使用scala.actors.Actor伴生对象的actor方法,就可以创建一个actor.它接受一个函数值/闭包做参数,一创建好就开始运行.用!()方法给actor发消息,用receive()方法从actor接收消息.receive()也可以闭包为参数,通常用模式匹配处理接收到的消息. 1. 使用Actor的并发 Scala的actor提供了一种基于事件的轻量级线程.只要使用scala.actors.Actor伴生对象的actor方法,…
一.前言 前面学习了控制结构,下面学习Scala的Class和Properties. 二.Class&Properties 尽管Scala和Java很类似,但是对类的定义.类构造函数.字段可见性控制等则不相同,Java更为冗长,Scala精炼.本章将通过Scala的构造函数工作原理来理解Scala的类和字段,当申明类构造函数参数和使用var.val.private关键字来修饰类的字段时,Scala编译器将会为你生成代码,根据字段修饰符不同,Scala编译器会生成不同的存取函数,本章也会展示如何重…
创建map,并向map添加元素 val idMap = Map( "group_id" -> "GID", "sim_id" -> "SIM_ID", "list_sim_id" -> "LIST_SIM_ID" )idMap += ("foo" -> "bar") 关键字Option, Some, None https:/…