我需要取 2 个值,每个值都是Either<Throwable, Any>
的,如果每个值都Right
,则将它们组合在一起(或执行其他任何操作)。
对于arrow-kt 0.11.0
来说,这可以通过tupled
tupled(
"Hello".right(),
"Word".right()
).map { params ->
println(params.a + params.b) //go to map ONLY IF a and b are always right
}
但是由于arrow-kt 0.12
tupled 被弃用,转而支持 Kotlin 的 Pair 和 Triple 我可以t figure out how to achieve the same without
tupled'。
您可以使用任一.zip
"hello".right().zip("world".right()) { a, b -> a + b }