gpt4 book ai didi

scala - Scala 中是否可以解构输入参数?

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

有没有办法在 Scala ( akin to Clojure ) 中解构函数的输入参数?

所以,而不是

scala> def f(p: (Int, Int)) = p._1
f: (p: (Int, Int))Int

我想要这个(它不起作用):
scala> def f((p1, p2): (Int, Int)) = p1

最佳答案

我猜在 Scala 中你会使用模式匹配来实现相同的目标,例如像这样:

val f: (Int, Int) => Int = { case (p1, p2) => p1 }

或者,等效地:
def f(p: (Int, Int)) = p match { case(p1, p2) => p1 }

如果可以推断类型,则 (Int, Int) => Int可以删除:
List((1, 2), (3, 4)) map { case (p1, p2) => p1 }

关于scala - Scala 中是否可以解构输入参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16326434/

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