scala混合了面向对象和函数式的特征。在函数式的编程语言中,函数是可以像其他的数据类型一样被传递和操作。这对于想将详细动作传入给算法时变得非常有用。importscala.math._
valfun=ceil_/从技术上将_的作用是将ceil方法变成了函数
res=fun(num)/num=3.14,res=4
Array(3.14,..
分类:
其他好文 时间:
2014-09-18 16:45:25
阅读次数:
188
鸭子类型:“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。” 一般在动态语言里面才有,因为静态语言是强类型的,会在编译期检查类型,很难实现。但是Scala作为一门s...
分类:
其他好文 时间:
2014-09-15 23:00:39
阅读次数:
415
单例对象scala没有静态方法和静态字段。scala使用object实现,object定义了单个实例。1 object Accounts {2 private var lastNumber = 0;3 def newUniqueNumber() = { lastNumber += 1; la...
分类:
其他好文 时间:
2014-09-15 17:20:29
阅读次数:
192
简单类和无参方法:1 class Counter {2 private var value = 0; //必须初始化字段3 def increment() = value += 1 //方法默认是公有的4 def current = value5 }使用:1 val counter1 =...
分类:
其他好文 时间:
2014-09-15 17:16:29
阅读次数:
161
Map构造Map不可变:val map = Map("sa" -> 1, "s" -> 2)map("sa") = 3 // errorval emptyMap = newscala.collection.immutable.HashMap[String, Int]可变:val map2 = sca...
分类:
其他好文 时间:
2014-09-15 14:07:08
阅读次数:
252
先了解下相关的知识点(以下都只用先了解简单的概念,建议wiki):BNF范式,上下文无关文法,函数柯里化。lambda读书笔记演算:http://www.blogjava.net/wxb_nudt/archive/2005/05/15/4311.aspxlambda演算实例关于lambda演算的定义...
分类:
其他好文 时间:
2014-09-15 14:06:39
阅读次数:
350
定长数组:val nums = new Array[Int](10)变长数组:val b = new ArrayBuffer[Int] 或 ArrayBuffer[Int]()b.+=1b.+= (2, 3, 4)b.++= Array(5, 6, 7, 8)b.trimEnd(3)b.insert...
分类:
其他好文 时间:
2014-09-15 10:02:38
阅读次数:
201
下面这个 ppt 放在 slideshare 上面,需要梯子才看得到哦!
分类:
其他好文 时间:
2014-09-15 08:46:48
阅读次数:
146
在java语言中,表达式表示值,语句表示执行动作。 例如:表达式1+1表示值;thread.start()表示执行动作。所有语法结构都有值,那怕是不存在用Unit.if/else语句有值,为跟在if或else之后的表达式的值。例:val s = if(x > 0) 1 else 0; 等同于var....
分类:
其他好文 时间:
2014-09-14 23:38:17
阅读次数:
199
1、常量和变量val声明出来的为常量,不能再次赋值;可以省略类型,scala会自动推导。var声明出来的为变量,可以再次赋值;可以省略类型,scala会自动推导。var a = "xxx"; 等同于 var a : String = "xxx";a = "String 2";val b = 2;b ...
分类:
其他好文 时间:
2014-09-14 16:40:17
阅读次数:
131