我有一个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]