我想使用 CatsValidatedNec
数据类型,类似于 Cats 文档中的示例,用于会议应用部分中的Validated
- 就我而言,我正在解析文件中的String
,根据该字段的适当正则表达式进行验证,然后(对于多个字段)转换为不同的数据类型(假设正则表达式匹配)。 但是,与其使用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错误"是无关紧要的。
关于"sbt 错误",为了使mapN
工作,请检查您是否有
import cats.syntax.apply._
如果这仍然不适合您,请提供您的 MCVE。