【发布时间】:2013-03-07 21:39:26
【问题描述】:
有没有一种简单的方法来展平一组 try 以给出 try 值的成功或失败? 例如:
def map(l:List[Int]) = l map {
case 4 => Failure(new Exception("failed"))
case i => Success(i)
}
val l1 = List(1,2,3,4,5,6)
val result1 = something(map(l1))
result1: Failure(Exception("failed"))
val l2 = List(1,2,3,5,6)
val result2 = something(map(l2))
result2: Try(List(1,2,3,5,6))
您将如何处理集合中的多个失败?
【问题讨论】:
-
请说出您的结果应该是什么样子。
List(1, 2, 3, Exception, 5, 7)? -
Scalaz 会将此操作称为
sequence,但遗憾的是标准库中缺少它。
标签: scala try-catch scala-2.10