数组元素作为函数中的参数

array elements as argument in functions

swift 的新手。我们有

var b : [Double] = [0,1,2,3,4,5,6,7,8,9]
var c = 5

我想用 b 的前 c 个元素调用 func xyz。

var a = xyz(b[0...c]) - 不起作用

使用 Range 在数组中选取会生成 ArraySlice,而不是 Array

因此,如果您希望将此 "slice" 传递给函数:

var b : [Double] = [0,1,2,3,4,5,6,7,8,9]
var c = 5

let slice = b[0...c]

您必须让您的函数接受具有正确类型的 ArraySlice

func xyz(chunk: ArraySlice<Double>) {
    print(chunk)
}

xyz(slice)

但是如果你只想使用普通数组,让你的函数接受一个数组,并在调用函数时将切片转换为数组:

func xyz(chunk: [Double]) {
    print(chunk)
}

xyz(Array(slice))