gpt4 book ai didi

scala - 元组函数输出

转载 作者:行者123 更新时间:2023-12-05 01:06:10 26 4
gpt4 key购买 nike

我正在寻找一个函数,它在一个公共(public)域上获取一组函数,并将该域中的一个函数返回到它们各自输出的元组。我假设这样的实用程序要么内置在 Scala 中,要么隐藏在 Scalaz 的某个地方,但我一直找不到它。

例如,一对函数的特殊情况(并将函数作为单独的参数而不是一对)看起来像:

def pairFunc[I, O1, O2](f: I => O1, g: I => O2): I => (O1, O2) = (x: I) => (f(x), g(x))

有没有办法为任意元组的函数实现这一点?

编辑:

函数类型的方法,其输出类似于 X -> ((A, B), C)它的结构看起来像 f fZip g fZip h与输出为 X -> (A, B, C) 的函数一样好.

最佳答案

你很幸运,scalaz (7) 确实有这个 &&& :

  import scalaz._
import Scalaz._

val intToString = (i:Int) => i.toString
val intPlusTwo = (i:Int) => i + 2

val combined = intToString &&& intPlusTwo

println(combined(1)) // (1, 3)

您可以继续组合,尽管它确实根据您的评论建议建立元组:
  val combinedMore = intToString &&& intPlusTwo &&& intToString

println(combinedMore(1)) // ((1,3),1)

关于scala - 元组函数输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20435772/

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