验证 scalaz 后找到一条成功线

Find a succes line after validation scalaz

我必须读取一个 cvs 文件并提取正确和错误的行,我有一个代码可以检索错误的行,但我无法编写在 cvs 中找到正确值的代码文件

def getLineErrors[T](lines: Seq[ValidationNel[LineError, T]]): Seq[FailureZ[NonEmptyList[LineError]]] =
  lines.collect { case f @ FailureZ(_) => f }

感谢您的帮助

您是指 collect success validation 值的 getLineSuccess 方法吗?像这样:

  def getLineSuccess[T](lines: Seq[ValidationNel[String, T]]): Seq[Success[T]] =
    lines.collect { case f: Success[T] => f }

需要调出,对于Successvalidation,没有NonEmptyList错误。因为validation success会直接return