随笔分类 -  15.Scala

摘要:Scala中有PartialFunction的概念, 同时还要一个概念叫Partial Applied Function. 前者译作偏函数, 后者译作"偏应用函数"或"部分应用函数", 一字之差, 差距很大. 首先偏函数是个数学概念, 偏函数不是"函数"的一种, 而是一个跟函数平行的概念. Scal 阅读全文
posted @ 2016-08-18 22:15 moonandstar08 阅读(1957) 评论(0) 推荐(0) 编辑
摘要:Scala的有即Any,Scala的无是Null,null,Nil,Nothing,None,Unit.那么这几种空有什么区别呢? 一、Null&null 很多人一辈子都没有走出这个无。Null是一个Trait,你不能创建她它的实例。但是Scala在语言层面上存在一个Null的实例,那就是null。 阅读全文
posted @ 2016-08-10 22:40 moonandstar08 阅读(10469) 评论(1) 推荐(0) 编辑
摘要:Scala官方作弊条请参考:http://docs.scala-lang.org/cheatsheets/ 阅读全文
posted @ 2016-07-28 23:11 moonandstar08 阅读(198) 评论(0) 推荐(0) 编辑
摘要:重复参数 Scala在定义函数时允许指定最后一个参数可以重复(变长参数),从而允许函数调用者使用变长参数列表来调用该函数,Scala中使用“*”来指明该参数为重复参数。例如: scala> def echo (args: String *) = | for (arg <- args) println 阅读全文
posted @ 2016-03-03 22:14 moonandstar08 阅读(3135) 评论(0) 推荐(0) 编辑
摘要:假如我们定义如下的函数: (x:Int) => x + more 这里我们引入一个自由变量more.它不是所定义函数的参数,而这个变量定义在函数外面,比如: var more =1 那么我们有如下的结果: scala> var more =1 more: Int = 1 scala> val add 阅读全文
posted @ 2016-03-03 22:13 moonandstar08 阅读(2515) 评论(0) 推荐(1) 编辑
摘要:我们使用“_” 来代替单个的参数,实际上你也可以使用“_”来代替整个参数列表,比如说,你可以使用 print _ 来代替 println (_). someNumbers.foreach(println _) Scala编译器自动将上面代码解释成: someNumbers.foreach( x => 阅读全文
posted @ 2016-03-03 22:12 moonandstar08 阅读(247) 评论(0) 推荐(0) 编辑
摘要:Scala提供了多种方法来简化函数字面量中多余的部分,比如前面例子中filter方法中使用的函数字面量,完整的写法如下: (x :Int ) => x +1 首先可以省略到参数的类型,Scala可以根据上下文推算出参数的类型,函数定义可以简化为: (x) => x +1 这个函数可以进一步去掉参数的 阅读全文
posted @ 2016-03-03 22:10 moonandstar08 阅读(1120) 评论(0) 推荐(0) 编辑
摘要:Scala中函数为头等公民,你不仅可以定义一个函数然后调用它,而且你可以写一个未命名的函数字面量,然后可以把它当成一个值传递到其它函数或是赋值给其它变量。下面的例子为一个简单的函数字面量(参考整数字面量,3 为一整数字面量)。 (x :Int ) => x +1 这是个函数字面量,它的功能为+1. 阅读全文
posted @ 2016-03-03 22:09 moonandstar08 阅读(2982) 评论(0) 推荐(1) 编辑
摘要:1、class scala的类和C#中的类有点不一样,诸如: 声明一个未用priavate修饰的字段 var age,scala编译器会字段帮我们生产一个私有字段和2个公有方法get和set ,这和C#的简易属性类似;若使用了private修饰,则它的方法也将会是私有的。这就是所谓的统一访问原则。 阅读全文
posted @ 2016-03-03 21:50 moonandstar08 阅读(6330) 评论(0) 推荐(0) 编辑
摘要:Scala类定义的几个特性:类参数和构造函数,方法,操作符,私有成员,重载,过载,条件检查,引用自身. Rational类定义规范 首先,我们回忆下有理数的定义:一个有理数(rational)可以表示成个分数形式: n/d, 其中n和d都是整数(d不可以为0),n称为分子(numberator),d 阅读全文
posted @ 2016-03-03 21:43 moonandstar08 阅读(282) 评论(0) 推荐(0) 编辑
摘要:一般sbit编译器采成了scala运行工具。启动sbit命令行,输入console,命令行自动切换到scala编辑器面。 scala>:paste 然后手动将XXX.scala中的代码拷贝到界面中,粘贴,换行。如果代码无错误,界面显示defined module Test. 然后输入XXX.main 阅读全文
posted @ 2016-03-02 22:29 moonandstar08 阅读(629) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示