Swift:我如何为这个参数传入一个值?

时间:2017-05-06 19:21:24

标签: swift function syntax arguments

rk4_func(
    y_array: [Double],
    f_array: [(([Double], Double) -> Double)],
    t_val: Double,
    h_val: Double)
    -> [Double]

我不明白如何使用参数f_array: [(([Double], Double) -> Double)]。在调用函数时我究竟如何传递它?

1 个答案:

答案 0 :(得分:1)

这有点棘手:)

关于Swift's function types:类型(Int) -> Float的快速余数意味着:一个接受int并返回float的函数。好的,现在回到你的问题:

正如参数f_array所说(或者,至少是尝试),它需要一个函数数组。在这个数组中,每个函数接受两个参数:

  • 双打数组:[Double]
  • 一个双人:Double

并返回Double

让你前进的简单例子:

func f(_ a: [Double], _ b: Double) -> Double { ... }
func g(_ a: [Double], _ b: Double) -> Double { ... }

let f_array = [f, g]

那里有一股Swift魔法。如果您需要进一步澄清,请与我们联系。