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

时间:2016-06-14 10:33:01

标签: arrays swift func

新手迅速。我们有

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]) - 无效

1 个答案:

答案 0 :(得分:0)

使用Range选择数组会生成ArraySlice,而不是Array

所以如果你想通过这个"切片"功能:

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))
相关问题