Cats ValidatedNec mapN with Case Class 错误类型
Cats ValidatedNec mapN with Case Class Error Types
我想使用 Cats ValidatedNec
数据类型,类似于 Meeting applicative 部分 Validated
的 Cats 文档中的示例——在我的例子中,我m 从文件中解析 String
s,针对字段的适当正则表达式进行验证,然后(对于多个字段)转换为不同的数据类型(假设正则表达式匹配)。但是,我不想使用 case object
s 扩展无效结果的共同特征(如示例中所示),而是使用 case class
es(扩展共同特征)以便我可以包括失败情况下的上下文信息。这是否可以像 validateForm
示例中那样调用所有验证方法(将结果放入元组)并调用 mapN
一样简单地完成?我从 Intellij 收到冲突错误(从 IntelliJ,它告诉我 mapN
的预期参数和实际参数是相同的(尽管它仍然将其标记为错误);当 运行 sbt
在命令行上,它没有解析 mapN
方法。我使用的是 Scala 2.12.8 和 cats 2.0.0-M1。任何帮助将不胜感激!
https://gist.github.com/DmytroMitin/6cf51c3563dba62307a2a256eeb4ebb5
"IntelliJ errors" 无关紧要。
关于 "sbt errors",为了使 mapN
正常工作,请检查您是否有
import cats.syntax.apply._
如果这对您仍然不起作用,请提供您的 MCVE。
我想使用 Cats ValidatedNec
数据类型,类似于 Meeting applicative 部分 Validated
的 Cats 文档中的示例——在我的例子中,我m 从文件中解析 String
s,针对字段的适当正则表达式进行验证,然后(对于多个字段)转换为不同的数据类型(假设正则表达式匹配)。但是,我不想使用 case object
s 扩展无效结果的共同特征(如示例中所示),而是使用 case class
es(扩展共同特征)以便我可以包括失败情况下的上下文信息。这是否可以像 validateForm
示例中那样调用所有验证方法(将结果放入元组)并调用 mapN
一样简单地完成?我从 Intellij 收到冲突错误(从 IntelliJ,它告诉我 mapN
的预期参数和实际参数是相同的(尽管它仍然将其标记为错误);当 运行 sbt
在命令行上,它没有解析 mapN
方法。我使用的是 Scala 2.12.8 和 cats 2.0.0-M1。任何帮助将不胜感激!
https://gist.github.com/DmytroMitin/6cf51c3563dba62307a2a256eeb4ebb5
"IntelliJ errors" 无关紧要。
关于 "sbt errors",为了使 mapN
正常工作,请检查您是否有
import cats.syntax.apply._
如果这对您仍然不起作用,请提供您的 MCVE。