我有一个evaluate带参数的函数。第一个参数是一个Int. 闭包的第二个参数接受一个Int并返回一个Double。然后该函数evaluate返回一个[Double]. 返回数组的第k个元素是对k = 0, 1, ..., n的值为k的第二个参数求值的结果。
func evaluate(n: Int, myFunction: Int -> Double) -> [Double] {
var doubles = [Double]()
for i in 1...n {
doubles[i] = myFunction(i)
}
return doubles
}
let polyTableClosure: Int -> Double = { return Double($0 * $0 * $0 + 2 * $0 + 4) }
print(evaluate(5, polyTableClosure))
期待类似的东西:[7, 16, 37, 76, 139]