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