【问题标题】:Swift: How do I pass in a value for this argument?斯威夫特:我如何为这个参数传递一个值?
【发布时间】:2017-10-05 02:11:05
【问题描述】:
rk4_func(
    y_array: [Double],
    f_array: [(([Double], Double) -> Double)],
    t_val: Double,
    h_val: Double)
    -> [Double]

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

【问题讨论】:

    标签: swift function syntax arguments


    【解决方案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 魔法。如果您需要任何进一步的说明,请告诉我。

    【讨论】:

    • @ScottThompson 抱歉忽略了你的建议,伙计……所以这些天人们行动很快,哈哈 :-)
    • 没问题。感谢您的贡献!
    猜你喜欢
    • 1970-01-01
    • 2017-07-22
    • 2017-03-24
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    相关资源
    最近更新 更多