Scala 特殊的对象和关键字

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

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

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

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

这样就可以用如下表达式求值:

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

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

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

转载于:https://my.oschina.net/u/129165/blog/159602

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值