1
代碼我想:有沒有辦法將一個可變參數轉換爲一個接收數組,反之亦然在swift 3中?
fileprivate func concatPairs(_ pairStrings: [String]) -> String {
return "{\n" + pairStrings.joined(separator: ",\n") + "}\n"
}
fileprivate func concatPairs(_ pairStrings: String...) -> String {
return concatPairs(pairStrings)
}
let p1 = jsonify(pair: ("size", 15), quoteValue: false)
let p2 = jsonify(pair: ("length", 23.12), quoteValue: false)
concatPairs(p1, p2)
concatPairs([p1, p2])
有沒有辦法到variadic function
轉換成一個接收一個數組,反之亦然?我想避免所有額外的輸入。
不錯的破解,但如果你傳遞兩個或更多的數組,結果將是令人驚訝的。所以這種語言似乎並沒有很好的支持這種東西。 – qed
@qed這是正確的,但是你的要求不是這樣,你想爲你添加的兩個函數的解決方案,並沒有包含兩個參數作爲字符串數組。 –
我知道,只是簽名表明它可能需要多個陣列,有點誤導。對於我的用例應該沒問題,因爲我知道這個怪癖。 – qed