【发布时间】:2019-01-21 03:09:51
【问题描述】:
我刚刚发现有一个隐式转换:
来自带 n 个参数的函数(A, B, ...) -> R
函数采用 n 元组((A, B, ...)) -> R
示例 n°1
func withTuple(_ a: (Int, Int)) { }
func withoutTuple(_ a: Int, _ b: Int) { }
func call(tupleFunction: ((Int, Int)) -> ()) {
tupleFunction((1, 2))
}
call(tupleFunction: withTuple)
call(tupleFunction: withoutTuple) // Magic here
(有效的 Swift 4.2 代码)
示例 n°2
[(1, 2), (3, 3)].map(*) // Magic here
这种行为是否记录在某处?
【问题讨论】: