【发布时间】:2011-12-23 18:23:59
【问题描述】:
我正在尝试折叠选项列表,以便返回第一个(或最后一个)Some 值,如果没有 Some 值,则返回 None。
scala> val opts = List(None, Some(1), None, Some(2), None)
opts: List[Option[Int]] = List(None, Some(1), None, Some(2), None)
scala> opts foldLeft(None)((a,io) => a match { case None => io; case Some(i) =>
a})
<console>:9: error: object None does not take parameters
opts foldLeft(None)((a,io) => a match { case None => io; case Some
(i) => a})
^
不知道我做错了什么。也可能有一种方法可以使用高阶函数更简单地完成此操作,但 here 中的任何内容都没有引起我的注意。
【问题讨论】: