Scalaz:将ValidationNel的ValidationNel转换为ValidationNel

时间:2014-11-14 21:08:46

标签: scala validation scalaz

如何转换

val from: ValidationNel[E, ValidationNel[E, T]]

val to: ValidationNel[E, T]

同时捕获所有验证错误?

2 个答案:

答案 0 :(得分:4)

您可以使用from.fold(Failure(_), identity)

通常,flatMap(identity)或.join适用于任何Monad,用于将F [F [A]]转换为F [A],但是,验证不是Monad,并且不推荐使用flatidation / join方法进行验证

答案 1 :(得分:1)

只有flatMap ValidationNel

from.flatMap(identity)