1
有没有办法如何从动态提取元组的值?动态提取元组值
假设元组:
val x = ("1", 2, "3")
和方法:
def doFoo(value1: String, value2: Int, value3: String)={}
我怎么能说doFoo()与元组 'X'?像doFoo(x)这样的东西,并且元组中的值被动态提取以匹配方法签名。
有没有办法如何从动态提取元组的值?动态提取元组值
假设元组:
val x = ("1", 2, "3")
和方法:
def doFoo(value1: String, value2: Int, value3: String)={}
我怎么能说doFoo()与元组 'X'?像doFoo(x)这样的东西,并且元组中的值被动态提取以匹配方法签名。
(doFoo _).tupled(x)
或
Function.tupled(doFoo _)(x)
尼斯的答案。我认为你有一个错字 - 第二个解决方案不应该是Function.tupled(doFoo _)(x)吗? – hyperboreean
谢谢,我第一次看到这个。 – GarfieldKlon
@hyperboreean,no。当你想要传递一个函数名的方法名时,如果类型符合,方法将自动提升到所需的函数类型。这称为eta扩展。 – missingfaktor