管理Scalaz7的进口
发布时间:2020-12-16 09:10:50 所属栏目:安全 来源:网络整理
导读:我正在一个项目中使用 scalaz7,有时我遇到与导入有关的问题.最简单的方法是开始 import scalaz._import Scalaz._ 但有时这可能会导致冲突.到目前为止,我一直在做的这个稍微痛苦的过程是: 制定一个最小的例子,需要与我的实际代码相同的导入 在单独的项目中复
我正在一个项目中使用
scalaz7,有时我遇到与导入有关的问题.最简单的方法是开始
import scalaz._ import Scalaz._ 但有时这可能会导致冲突.到目前为止,我一直在做的这个稍微痛苦的过程是: 制定一个最小的例子,需要与我的实际代码相同的导入 虽然这样做,我想简化它.我看到scalaz7有更多细粒度的进口,但我不完全明白它们是如何组织的.例如,我看到可以做到 import scalaz.std.option._ import scalaz.std.AllInstances._ import scalaz.std.AllFunctions._ import scalaz.syntax.monad._ import scalaz.syntax.all._ import scalaz.syntax.std.boolean._ import scalaz.syntax.std.all._ 等等.
例如,我想要使用验证.我需要什么,例如注入验证意图并进行以下编译? 3.fail[String] 如何进行验证NEL [A,B]应用实例? 解决方法
这个博客文章解释了包装结构,并详细介绍了scalaz7中的一个点菜:
http://eed3si9n.com/learning-scalaz-day13
对于您的具体示例,对于3.failure [String],您需要: import scalaz.syntax.validation._ 验证已经有一个方法ap: scala> "hello".successNel[Int] ap ((s: String) => "x"+s).successNel[Int] res1: scalaz.Validation[scalaz.NonEmptyList[Int],java.lang.String] = Success(xhello) 要获得< *>运算符,你需要这个导入: import scalaz.syntax.applicative._ 那你可以做: "hello".successNel[Int] <*> ((s: String) => "x"+s).successNel[Int] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |