【发布时间】:2019-03-18 07:02:17
【问题描述】:
如何将整数元组加在一起?我遇到了这个post,但我收到了一个错误:
参数类型 '(Int, Int)' 不符合预期的类型 'Numeric'
当我尝试使用数组中的元组时。我不熟悉泛型,所以我什至不确定从哪里开始修复这个函数以适应我的代码。有什么建议吗?
func calculate() {
let testArray = [(0, 0), (0, 7), (7,7), (7,0)]
let nearbyObjects = [(-1, -1), (0, -1), (1, -1), (-1, 0), (1, 0), (-1, 1), (0, 1), (1, 1)]
// this is where I get the error message
let sum = add(nearbyObjects[0])(testArray[0])
}
func add<T : Numeric>(_ a: T...) -> (_ b: T...) -> [T] {
return { (b: T...) -> [T] in
return zip(a, b).map { $0.0 + $0.1 }
}
}
理想情况下,我希望能够从上面的数组中添加两个元组。所以,(7,7) + (1, -1) = (8, 6)
【问题讨论】: