我有以下功能:
private func getFunctionToPlot() -> ((Double) -> Double) {
var function: (Double) -> Double = sin + cos
return function
}
我想返回一个需要一个double并返回double的函数,但是这个函数应该是sin + cos
。sin和cos都独立取得双倍并返回双倍,但是我如何才能返回sin($0) + cos($0)
。
您的问题有点宽泛,但是您声称没有编译的行确实在编译;您所做的没有任何问题。唯一的问题是您的代码不完整。下面是测试的例子,是完整的:
private func getFunctionToPlot() -> ((Double) -> Double) {
var function: (Double) -> Double
function = {_ in return 2.0}
return function
}
编辑至于修改后的问题,这是您现在似乎想做的事情的测试示例:
func sin(_ d:Double) -> Double {return 1}
func cos(_ d:Double) -> Double {return 1}
private func getFunctionToPlot() -> ((Double) -> Double) {
let f1: (Double) -> Double = sin
let f2: (Double) -> Double = cos
return {f1(f2($0))} // or maybe f1($0) + f2($0)
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句