gpt4 book ai didi

scala - 如何将值元组与函数元组结合起来?

转载 作者:行者123 更新时间:2023-12-04 11:04:57 25 4
gpt4 key购买 nike

我有 ScalaZ 可用。

我有一个 (A, B)和一个 (A => C, B => D) , 我想要一个 (C, D)以简单易读的方式。

我觉得我可以用 applicatives 做一些事情,但我找不到正确的方法。

最佳答案

编辑

一开始没明白,OP 有函数元组。在评论中建议的这种情况下,这应该有效:

val in = ("1", 2)

val fnT = ((s: String) => s.toInt, (i: Int) => i.toString)

val out = (in.bimap[Int, String] _).tupled(fnT)

老的

如果您有两个函数并希望将它们应用于元组,您应该能够执行以下操作:
import scalaz._
import Scalaz._

val in = ("1", 2)

val sToi = (s: String) => s.toInt
val iTos = (i: Int) => i.toString


val out = sToi <-: in :-> iTos
// or
val out1 = in.bimap(sToi, iTos)
// or
val out2 = (sToi *** iTos)(in)

关于scala - 如何将值元组与函数元组结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28594972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com