![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
scala
kongshuchen
这个作者很懒,什么都没留下…
展开
-
Programming Scala第4章demo01 scala的类
前段时间先看的《快学scala》,觉得写的不是很好,于是就开始看这本《Programming scala》了,把书中的代码都自己实现了一下,现在放在博客中分享。package base04/** * Scala的类 * Created by dd on 2016/5/18 0018. */object demo01 extends App{ class Car(val year:I原创 2016-05-22 09:21:26 · 281 阅读 · 0 评论 -
Programming Scala 第6章 demo07
package base06import java.io._/** * Created by dd on 2016/5/19 0019. */object demo07 extends App{ def writeToFile(fileName: String)(codeBlock: PrintWriter => Unit)={ val writer = new PrintWr原创 2016-05-22 10:34:06 · 267 阅读 · 0 评论 -
Programming Scala 第6章 demo06
package base06/** * Created by dd on 2016/5/19 0019. */object demo06 extends App{// Execute Around Method class Resource private(){ println("Starting transaction...") private def cleanUp()原创 2016-05-22 10:32:47 · 219 阅读 · 0 评论 -
Programming Scala 第6章 demo05 参数的位置记法
package base06/** * Created by dd on 2016/5/19 0019. */object demo05 extends App{// 参数的位置记法 val arr = Array(1,2,3,4,5) println((0/: arr){_ + _}) println((Integer.MIN_VALUE /: arr){Math.max(原创 2016-05-22 10:16:41 · 231 阅读 · 0 评论 -
Programming Scala 第6章 demo04 重用函数值
package base06/** * Created by dd on 2016/5/19 0019. */object demo04 extends App{// 重用函数值 class Equipment(val routine: Int=>Int){ def simulate(input: Int) ={ print("Running simulation...原创 2016-05-22 10:15:43 · 219 阅读 · 0 评论 -
Programming Scala第6章 demo03 Curring化
package base06/** * Created by dd on 2016/5/19 0019. */object demo03 extends App{// Curry化:把函数从接收多个参数转化为接收多个参数列表,用来减少噪音 def inject(arr: Array[Int], initial: Int)( operation: (Int, Int)=> Int):原创 2016-05-22 10:11:54 · 253 阅读 · 0 评论 -
Programming Scala第6章 demo02 高阶函数
package base06/** * Created by dd on 2016/5/19 0019. */object demo02 extends App{// 具有多参数的函数值 def inject(arr: Array[Int], initial: Int, operation: (Int, Int)=> Int): Int ={ var carryOver = i原创 2016-05-22 10:08:54 · 205 阅读 · 0 评论 -
Programming Scala第6章 demo01 将函数作为参数类型进行传递
package base06/** * Created by dd on 2016/5/19 0019. */object demo01 extends App { // 将函数作为参数进行传递 def totalResultOverRange(number: Int, codeBlock: Int => Int): Int = { var result = 0原创 2016-05-22 10:05:54 · 274 阅读 · 0 评论 -
Programming Scala第5章 demo05 参数化类型的可变性
package base05/** * Created by dd on 2016/5/19 0019. */object demo05 extends App{// 参数化类型的可变性 class Pet(val name: String){ override def toString :String = name} class Dog(override val nam原创 2016-05-22 10:04:53 · 268 阅读 · 0 评论 -
Programming Scala第5章demo04 传递变参
package base05/** * Created by dd on 2016/5/19 0019. */object demo04 extends App{// 传递变参 def max(values: Int*) = values.foldLeft(values(0)){Math.max} println(max(1,3,6,4,9,7)) val numbers =原创 2016-05-22 10:03:17 · 294 阅读 · 0 评论 -
Programming Scala第5章demo03 方法返回类型推演
package base05/** * Created by dd on 2016/5/19 0019. */object demo03 extends App{// 方法返回类型推演 def printMethodInfo(methodName: String){ println("The return type of "+methodName+" is "+getClass原创 2016-05-22 09:39:21 · 291 阅读 · 0 评论 -
Programming Scala第5章demo02 Option类型
package base05/** * Created by dd on 2016/5/19 0019. */object demo02 extends App{ //Option类型 def commentOnPractice(input: String) ={ if(input == "test") Some("good") else None } for(inpu原创 2016-05-22 09:36:03 · 297 阅读 · 0 评论 -
Programming Scala第5章 demo01 scala中的类型
package base05import java.utilimport java.util._/** * Created by dd on 2016/5/19 0019. */object demo01 extends App{ var list1: List[Int] = new ArrayList[Int] var list2 =new util.ArrayList[Int原创 2016-05-22 09:32:07 · 250 阅读 · 0 评论 -
Programming Scala第4章demo05 通过伴生对象完成静态字段与方法的访问
package base04/** * scala中的static * Created by dd on 2016/5/19 0019. */object demo05 extends App{// scala中没有静态字段和静态方法,因为它们会打破scala中所支持的完整的面向对象模型,// 不过scala也是完全支持类一级的属性和操作的,这就是伴生对象的作用class M原创 2016-05-22 09:30:16 · 305 阅读 · 0 评论 -
Programming Scala第4章demo04 伴生对象和伴生类
package base04/** * 独立对象和伴生对象 * Created by dd on 2016/5/19 0019. */object demo04 extends App{ //scala可以创建一个关联到类上的单例,这样的单例和类共享相同的名字,它称作伴生对象 //对应的类就叫做伴生类,在scala里,类和伴生对象之间没有界限,可以相互访问彼此的private原创 2016-05-22 09:27:38 · 400 阅读 · 0 评论 -
Programming Scala第4章demo03 单例对象object
package base04/** * Created by dd on 2016/5/18 0018. */object demo03 extends App{// 单例对象// 在scala中创建单例对象使用object关键字,因为单实例无法初始化,所以不能给它的主构造函数传递参数 class Marker(val color: String){ println("Cr原创 2016-05-22 09:25:37 · 247 阅读 · 0 评论 -
Programming Scala第4章demo02 主构造器和辅助构造器
package base04/** * * Created by dd on 2016/5/18 0018. */object demo02 extends App{ //放到类定义的任何表达式或者可执行语句都会作为主构造函数的一部分执行 class Sample{ println("you are constructing an instance of Sample"原创 2016-05-22 09:24:14 · 523 阅读 · 0 评论 -
Programming Scala 第6章 demo08 偏应用函数
package base06/** * Created by dd on 2016/5/19 0019. */import java.util.Dateobject demo08 extends App{// 偏应用函数 def log(date: Date, message: String){ println(date+"----"+message)} val log原创 2016-05-22 10:35:21 · 288 阅读 · 0 评论