scala
善良的小聪哥
生活的理想就是为了理想的生活。
展开
-
Scala之柯里化函数
定义 柯里化(Currying)指的是将原来接受两个参数的函数变成新的接受一个参数的函数的过程。新的函数返回一个以原有第二个参数为参数的函数。也就是说,有多个参数列表的函数就是柯里化函数,所谓的参数列表就是使用小括号括起来的函数参数列表。 curry化最大的意义在于把多个参数的function等价转化成多个单参数function的级联,这样所有的函数就都统一了,方...原创 2018-09-18 13:48:10 · 439 阅读 · 0 评论 -
Scala之闭包的理解与应用
定义闭包是一个函数,返回值依赖于声明在函数外部的一个或多个变量。闭包通常来讲可以简单的认为是可以访问一个函数里面局部变量的另外一个函数。var factor = 3 val multiplier = (i:Int) => i * factor 这里我们引入一个自由变量 factor,这个变量定义在函数外面。这样定义的函数变量 multiplier 成为一个"闭包",因...原创 2018-09-18 14:13:52 · 262 阅读 · 0 评论 -
Scala之高阶函数的理解和应用举例
定义 1. 带函数参数的函数被称为高阶函数,例如map()函数就是高阶函数。Demo1class HighLevelFuncobject HighLevelFunc { def main(args: Array[String]): Unit = { println(apply(layout, 10)) } def apply(f: Int =>...原创 2018-09-18 20:39:55 · 354 阅读 · 0 评论 -
Scala之apply的用法
用法一: 用于构造函数作用class Greet(val age: Int) { var name: String = "" def output(): Unit = { print(this.name + ", " + this.age) } override def toString: String = this.name + ": " + this.age...原创 2018-09-18 09:56:57 · 1232 阅读 · 0 评论 -
Scala之Implicit的用法
Scala在面对编译出现类型错误时,提供了一个由编译器自我修复的机制,编译器试图去寻找一个隐式implicit的转换方法,转换出正确的类型,完成编译。这就是implicit 的意义。一、 隐式转换到某个期望类型用在方法上class ImplicitToMethodobject ImplicitToMethod { //排除implicit的警告 import s...原创 2018-09-18 09:58:23 · 2271 阅读 · 1 评论 -
Scala之空值
为了让所有的东西都是对象的目标更加一致,也为了遵循函数式编程的习惯。Scala鼓励你在变量和函数返回值可能不会引用任何值的时候使用Option类型。Scala的Option类型可以避免NullPointerException情况,因此,Scala应用推荐使用Option类型来代表一些可选值。使用Option类型,读者一眼就可以看出这种类型的值可能为None。 如果没有值...原创 2018-09-26 11:02:09 · 6227 阅读 · 0 评论 -
Scala之集合的理解和应用案例
可变集合和不可变集合 Scala 集合类系统地区分了可变的和不可变的集合;可变集合可以在适当的地方被更新或扩展。这意味着你可以修改,添加,移除一个集合的元素。默认情况下,Scala 一直采用不可变集合类。而不可变集合类,相比之下,永远不会改变。因此,它是线程安全的;不过,你仍然可以模拟添加,移除或更新操作。但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不发生改变。...原创 2018-09-28 16:18:27 · 826 阅读 · 0 评论 -
Scala之模式匹配的理解和应用
Scala 提供了强大的模式匹配机制,应用也非常广泛。一个模式匹配包含了一系列备选项,每个都开始于关键字case。每个备选项都包含了一个模式及一到多个表达式。箭头符号=>隔开了模式和表达式。 通配模式、变量匹配和守卫 通配符 “_” 可以用来匹配任意对象。通常在模式匹配中作为最后一个匹配项,匹配其它所有的输入对象。 //变量常量匹配;守卫 def varCase(...原创 2018-09-30 14:46:26 · 264 阅读 · 0 评论 -
Scala之正则表达式
正则表达式Scala 的正则表达式继承了 Java 的语法规则,Java 则大部分使用了 Perl 语言的规则。下表是常用的一些正则表达式规则:表达式 匹配规则 ^ 匹配输入字符串开始的位置。 $ 匹配输入字符串结尾的位置。 . 匹配除"\r\n"之外的任何单个字符。 [...] 字符集。匹配包含的任一字符。例如,"[abc]"匹配...原创 2018-09-30 17:12:01 · 2522 阅读 · 0 评论