Scala 特殊的对象和关键字

Option: 标准类库中的Option类型用样例类来表示那种可能存在、也可能不存在的值。函数

Option 有两个子类别,一个是 Some,一个是 None,当他回传 Some 的时候,表明这个函式成功地给了你一个 String,而你能够透过 get() 这个函式拿到那个 String,若是他返回的是 None,则表明没有字符串能够给你。 固然,在返回 None,也就是没有 String 给你的时候,若是你还硬要调用 get() 来取得 String 的话,Scala 同样是会报告一个 Exception 给你的 由于 Option[T] 除了 get() 以外,也提供了另外一个叫 getOrElse() 的函式,这个函式正如其名--若是 Option 里有东西就拿出来,否则就给个默认值。 参考urlurl

implicit(隐式转换): *以implicit关键字声明的带有单个参数的函数。*implicit conversion function ,这样的函数将被自动应用,将值从一种类型转换为另外一种类型。 【 example】 咱们想把整数n转换成分数n/1..net

<!-- lang: scala -->
implicit def int2Fraction (n: Int) = Fraction(n, 1)

这样就能够用以下表达式求值:scala

<!-- lang: scala -->
val result = 3 * Fraction(4, 5)  //将调用int2Fraction(3)

yield:对于for -yield表达式的语法是这样的: for {子句} yield {循环体} yield在整个循环体以前code

for 循环中的 yield 会把当前的元素记下来,保存在集合中,循环结束后将返回该集合。Scala 中 for 循环是有返回值的。若是被循环的是 Map,返回的就是 Map,被循环的是 List,返回的就是 List,以此类推blog

相关文章
相关标签/搜索