【发布时间】:2019-05-13 16:07:12
【问题描述】:
在 Scala 中,我有一个 Array[Option[(String,String,Try[String])]],并希望找到所有的失败错误代码。
如果内部 monad 是一个 Option[String] 而不是,我可以访问 Some(x) 的内容,而无需理解,就像这样:
for {
Some(row) <- row
(a,b,c) = row
x <- c
} yield x
但如果内部 monad 是失败的,那么我很难看到如何对其进行模式匹配,因为我不能将 Failure(x) <- c 放在 for 语句中。这感觉就像我错过了一件非常简单的事情,但任何指导都会非常有价值。
非常感谢!
EDIT - 错误指定了数组。它实际上是一个 option-tuple3s 的数组,而不仅仅是 tuple3s。
【问题讨论】: