Swift上的高阶函数

时间:2017-08-19 00:54:13

标签: swift

我想自己使用this项目,但我已经尝试使用它上面的每个函数,但是当我使用Derivative时我找不到语法

原始功能是:

postfix operator ′{}
postfix func ′(function: (Double) -> (Double)) -> (Double) -> (Double) {
    let h = 1e-3
    return { (x) in
        return round((function(x + h) - function(x - h)) / (2 * h) / h) * h
    }
}

我发现了一个快速的3.0更新

postfix operator ′
postfix func ′(function: @escaping (Double) -> (Double)) -> (Double) -> (Double) {
     let h = 1e-3
     return { (x) in
         return round((function(x + h) - function(x - h)) / (2 * h) / h) * h
     }
 }

但我找不到如何使用它,我知道它是一个HOF,但也许你可以帮助我解决语法问题?

1 个答案:

答案 0 :(得分:0)

示例:

let result = ({ (d:Double) -> Double in return d*d }′)(100)

在现实生活中,你可能会把它分开:

func f (d:Double) -> Double { return d*d }
let ff = f′
let result = ff(100) // 200