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