Scala学习笔记
摘要:1、for循环格式for(i <- 1 to 10){print(i)} 2、懒加载 lazy val a = 1; 直到用时才会加载 3、方法的声明格式 def(x:Int,y:Int) : Int ={} 最后一个冒号后面是返回类型,不加则没有返回值 4、默认参数 def loadConf(co
阅读全文
posted @
2016-05-02 14:57
松伯
阅读(249)
推荐(0) 编辑
Scala特质
摘要:特质:trait是Scala里代码复用的基础单元。特质封装了方法和字段的定义,并可以通过混入到类中重用它们。不像类的继承那样,每个类都只能继承唯一的超类,类可以混入任意个特质。它们最常用到的两种方式:拓宽瘦接口为胖接口和定义可堆叠的改变。这个特质名为Philosophical。它没有声明超类,因此和...
阅读全文
posted @
2015-11-24 21:40
松伯
阅读(251)
推荐(0) 编辑
Scala控制抽象
摘要:private def filesHere = (new java.io.File(".")).listFiles() def filesEnding(query: String) = for(file Boolean) = for(file fileName.endsWit...
阅读全文
posted @
2015-11-23 23:53
松伯
阅读(875)
推荐(0) 编辑
Scala语法笔记
摘要:JAVA中,举例你S是一个字符串,那么s(i)就是该字符串的第i个字符(s.charAt(i)).Scala中使用apply的方法JAVA与C++的?:操作符 等同于Scala的if ( x > 0) 1 else -1x>0 ? 1: -1 //JAVA或C++在Scala中,每个表达式都有一个类...
阅读全文
posted @
2015-11-22 16:17
松伯
阅读(425)
推荐(0) 编辑
Scala第四章学习笔记(面向对象编程)
摘要:延迟构造DelayedInit特质是为编译器提供的标记性的特质。整个构造器被包装成一个函数并传递给delayedInit方法。trait DelayedInit { def deayedInit(x : Unit) : Unit}这个方法接受一个函数对象,函数对象里包含了全部的一般的构造器逻辑...
阅读全文
posted @
2015-11-09 17:56
松伯
阅读(278)
推荐(0) 编辑
Scala第三章学习笔记
摘要:换行后的左大括号造成的问题:class FooHolder{ def foo() { println("foo was called") }}Scala认为def foo()这行代码定义了一个抽象方法。这是因为它没有捕捉到后面的大括号,认定def foo()是完整的一...
阅读全文
posted @
2015-11-06 11:06
松伯
阅读(236)
推荐(0) 编辑
Scala第二章学习笔记
摘要:最基本的练习~:使用伴生对象:object holder{class Foo{ private var x = 5}object Foo{def im_in_yr_foo(f: Foo) = f.x}}import holder.Fooval x = new FooFoo.im_in_yr_foo(...
阅读全文
posted @
2015-11-02 14:03
松伯
阅读(207)
推荐(0) 编辑
Scala第一章学习笔记
摘要:面向对象编程是一种自顶向下的程序设计方法。用面向对象方法构造软件时,我们将代码以名词(对象)做切割,每个对象有某种形式的表示服(self/this)、行为(方法)、和状态(成员变量)。识别出名词并且定义出他们的行为之后,再定义出名词之间的交互。 函数式编程方法通过组合和应用函数来构造软件。纯粹...
阅读全文
posted @
2015-11-01 16:40
松伯
阅读(357)
推荐(0) 编辑