我正在尝试将List[\/[String, Int]]
转换为\/[String, List[Int]]
。
我能够找到的所有解决方案都指出了sequenceU
的用法。
我无法返回\/[String, List[Int]]
,因为sequenceU返回类型G.M[List[G.A]]
:
def f(x: Int): \/[String, Int] = if (x > 0) x.right[String] else "failure".left[Int]
val result: G.M[List[G.A]] = List(3, 4, 5).map(f).sequenceU
sequenceU
我做错了什么?如何使用它来获取\/[String, List[Int]]
?
答案 0 :(得分:2)
只需删除类型归属:
scala> val result = List(3, 4, 5).map(f).sequenceU
result: scalaz.\/[String,List[Int]] = \/-(List(3, 4, 5))