Swift 如何为可变参数创建循环?

Swift 如何为可变参数创建循环?,swift,loops,variadic,Swift,Loops,Variadic,嗨!我们有两个参数:par_1和par_2传递给y1。y1通过func测试调用。如何在func测试中创建一个循环,使用不同的变量集调用y1?在这种情况下:0;0 0.5 ; ... ; 1 2-总共3*5=15套 PS:最多可以有10个或多个变量参数,对于任何集合,如“代码”>“双打印”(双)} /代码> double== [ 0,0.5,1 ]和[0,0.5,1,1.5,2 ]。但我怎么称呼y1?我想我理解你的困惑。你不想简单地迭代,你想把一个数组值传递给一个可变参数,对吗?为什么首先要使用可

嗨!我们有两个参数:par_1和par_2传递给y1。y1通过func测试调用。如何在func测试中创建一个循环,使用不同的变量集调用y1?在这种情况下:0;0 0.5 ; ... ; 1 2-总共3*5=15套


PS:最多可以有10个或多个变量参数

,对于任何集合,如“代码”>“双打印”(双)} /代码> double== [ 0,0.5,1 ]和[0,0.5,1,1.5,2 ]。但我怎么称呼y1?我想我理解你的困惑。你不想简单地迭代,你想把一个数组值传递给一个可变参数,对吗?为什么首先要使用可变参数?我希望test func调用y1(数据,0,0);y1(数据,0,0.5);y1(数据,0,1.0);y1(数据,0.5,0)。。。。Swift不支持数组散列,因此不能使用数组来提供可变参数的参数。
func y1(_ data: [Double], _ par: Double...) -> Double {
//some maths
}

func test(_ y:(_ data: [Double], _ par: Double...) -> Double, _ data: [Double], _ x: [Double]...) -> [Double] {
var opt_par = [Double]()
// ?
return opt_par
}

let par_1 = Array(stride(from: 0, through: 1, by: 0.5))
let par_2 = Array(stride(from: 0, through: 2, by: 0.5))
test(y1, data_arr, par_1, par_2)