scalaz验证和列出monad
发布时间:2020-12-16 18:59:02 所属栏目:安全 来源:网络整理
导读:我想提出类似于以下内容的东西: val s: Validation[String,Int] = 1.successdef s2(i: Int): Validation[String,Int] = i.successval result = for { i - s j - List(1,2) k - s2(j)} yield "fine"; 上面的代码没有编译,我理解,从语法上讲它没有意义. 我试
我想提出类似于以下内容的东西:
val s: Validation[String,Int] = 1.success def s2(i: Int): Validation[String,Int] = i.success val result = for { i <- s j <- List(1,2) k <- s2(j) } yield "fine"; 上面的代码没有编译,我理解,从语法上讲它没有意义. 我试图以monadic方式执行验证列表.我如何实现这一目标? 解决方法
如果您有A的验证列表,则可以将其转换为使用序列的A列表的验证:
List(1,2).map(s2).sequence[({type l[a]=Validation[String,a]})#l,Int] (如果我理解正确的话).所以你得到了 val result = for { i <- s k <- List(1,Int] } yield "fine" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |