gpt4 book ai didi

scala - 如何调用带有Tuple2的2个参数的函数?

转载 作者:行者123 更新时间:2023-12-03 13:21:06 25 4
gpt4 key购买 nike

我有一个像这样的功能:

def print(name:String, surname:String) { println(name + " " + surname) }

我也有一个Tuple2:
val johnsmith = ("John", "Smith")

当我与johnsmith调用print时,出现以下错误:
scala> print(johnsmith)                                                       

error: not enough arguments for method print: (name: String,surname: String)Unit.
Unspecified value parameter surname.
print(johnsmith)
^

有什么办法解决吗?我可以通过使print接受Tuple2来使其工作:
def print2(t:Tuple2[String,String]) { println(t._1 + " " + t._2) }

现在我可以用任何一种方式称呼它:
scala> print2(johnsmith)
John Smith

scala> print2("john", "smith")
john smith

有什么我想念的吗?

最佳答案

首先将方法转换为函数,然后将两个args的函数转换为一个元组的函数。

Function.tupled(print _)(johnsmith)

关于scala - 如何调用带有Tuple2的2个参数的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3508453/

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